6

私は riot js の経験があまりありません。私が作成したタグの階層は次のようになります

<tag-1>
    <tag-2>
        <tag-3>
        </tag-3>
    </tag-2>
</tag-1>

ここで、変数 (JSON を含む) を "tag-3" に渡す必要があり、その変数を更新するたびに "tag-3" を更新するにはどうすればよいですか。現在、「tag-3」のようにマウントしています

riot.mount('tag-3', { comm: "Hello" });

ここで、「comm」は変数であり、マウント変数「comm」がタグ「tag-3」でアクセスできない後、未定義と表示されます。別のこととして、各タグhtmlは個別の「.tag」にあり、そのタグ内で他のタグを呼び出しています。「tag-1.tag」ファイルでは「tag-2」が呼び出され、「tag-2.tag」では「tag-2」が呼び出されますファイル「tag-3」を呼び出し、「tag-2.tag」ファイルに「tag-3」をマウントしています

どうやってやるの ?

4

2 に答える 2

1

commの価値は時間の経過とともに変化し続けると思われます。そうであれば、既存のタグ間でメッセージを送信するための riot.observable() メカニズムが最善の策です。

  1. 値の変更を引き起こしているタグが、選択したメッセージ (おそらく「value_changed」) を「トリガー」します。

    riot.observable().trigger('value_changed', {comm: newValueOfComm})

  2. tag-3 はメッセージ「value_changed」を「リッスン」し、それに基づいて何かを行います。

    riot.observable().on('value_changed', function(data) { console.log("new value=" + data.comm); })

実際の例については、http: //vinapps.com/riot-cookbook-app/#/pages/between-pageで「メカニズム 2」をチェックしてください。

参照ページはこちら: http://riotjs.com/api/observable/

于 2016-03-02T21:48:41.990 に答える