2

テンプレートでイベントが発生すると、別のテンプレートで何かを実行したい。

これは私のコードです:

クライアントhtml:

    <body>
      Navigation:
      {{> navigation}}
      =======================================================
      Body:
      {{> body}}
    </body>


     <template name="navigation">
      <input type="button" value="MenuBtn" />
    </template>
    <template name="body">
     {{content}}
    </template>

JavaScript:

    Template.navigation.events({
        「クリック」: 関数 (e) {    

            // {{body}} で何も起こらなかった
            Template.body.content = function(){
             // 何かしたい... データベースのクエリなど
             // おそらく、単なる例です: return peple.find({"name":e.currenTarget.value});                   
              「こんにちは」を返します。       
            };          

        } });

私が間違っていることについて何か考えはありますか?

4

1 に答える 1

3

ハンドルバーを使用してデータをテンプレートに渡し、テンプレートシステムがHTMLをいつ再描画するかを認識できるようにします

クライアントJS

Template.body.content = function() {
    return Session.get("content") || "Hi there, click the button" 
};

Template.navigation.events({
    'click' : function () {     
        alert("1");// it's normal       
        Session.set("content", "<h1>HELLO!!!! '+ people.findOne({"name":e.currenTarget.value}).name || " unregisterd person" + '</h1>");         
        alert("2");//it's normal
    }
});

また、HTMLeyを実行しようとしていて、それをエスケープしたくないと想定しているので、必ず次を使用してください。

<template name="body">
    {{{content}}}
</template>
于 2013-03-05T07:07:49.017 に答える