0

menujavascriptから呼び出された流星/ハンドルバーテンプレートにコンテキストオブジェクトを渡しています

var context = {
    keyForString: 'string!',
    keyForFunction: function(){console.log('function!');}
};

return Template.menu(context); //to be rendered later

私の Template.menu.functions では、this変数にはkeyForString. keyForFunction(および関数)は明らかに取り除かれています。

これは期待されていますか?その場合、どのようにコールバックをテンプレート コードに渡すことができますか? メニューの項目がクリックされたときにテンプレートが呼び出す関数を提供したいと考えています。

テンプレートのインスタンスはレイアウト コードを共有できますが、イベントを共有する必要はありません。たとえば、次のようなものがあります

Template.menu.events = {
    'click button': function() { 
        this.keyForFunction(); 
    }
}

で渡す関数に応じて、インスタンス A のボタンをクリックすると 1 つのことができ、B のボタンをクリックすると別のことができますkeyForFunction

4

1 に答える 1

0

結局のところ、これは上記のように完全に機能します。Session私が行っていたが無関係だと思っていた にオブジェクトを格納すると、関数が取り除かれます。

于 2013-05-27T13:23:44.863 に答える