2016-12-12 6 views
1

オブジェクトがタグ-aで作成された場合、タグ-bでどのようにアクセスできますか?タグ間でオブジェクトを共有Riot.js

タグ-a.tag

<tag-a> 

<script> 
const o = {data:() => {return "something" }} 
</script> 

</tag-a> 

タグ-b.tag

<tag-b> 

<script> 
// access object o created in tag-a 
</script> 

</tag-b> 

私はミックスインを使用してみましたが、私は、これは親タグに登録する必要があると思いますか?

答えて

0

親が共有している場合は、このようなことができますが、タグが結合されるためお勧めしません。単純なタグ通信約

<parent> 
    <tag-a></tag-a> 
    <tag-b></tag-b> 
</parent> 

<tag-a> 
    <script> 
    this.o = 'Hi bro' 
    </script> 
</tag-a> 

<tag-b> 
    <span>{this.parent.tags.tag-a.o}</span> 
</tag-b> 

詳細情報: http://vitomd.com/blog/coding/tag-communication-in-riot-js-part-1/

よりよいアプローチは、観察可能なパターンを使用して通信するであろう。

あなたはそれが任意のタグ

<script type="text/javascript"> 
    riot.store = new Store() 
    riot.mount('* ') 
</script> 
からアクセスできるようになりますので、あなたは、グローバル暴動変数にストアを追加するタグを取り付ける前に、index.htmlの中で次にstore.js

//Store.js 
var Store = function(){ 
    riot.observable(this) 
} 

を作成するには、最初の

は、次にタグであなたが情報に

send_info() { 
    riot.store.trigger('send_to_b', 'Hello')  
} 

とタグ-Bに混乱を受け取るを送信するためにトリガすることができます年齢

riot.store.on('send_to_b', function(greeting) { 
    self.hi = greeting 
}) 

さらに詳しい情報:http://vitomd.com/blog/coding/tag-communication-in-riot-js-part-2/

関連する問題