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 = 函数(){
             // 我想做点什么...比如查询数据库
             // 也许,只是一个例子: 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 回答