当模板中发生事件时,我想在另一个模板中执行某些操作。
这是我的代码:
客户端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({ 'click' : function (e) { //Nothing happened in {{body}} Template.body.content = function(){ // i want to do something... like query database // maybe, just a example : return peple.find({"name":e.currenTarget.value}); return "hello"; }; } });
对我做错了什么的想法?
答案 0 :(得分: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>