【发布时间】:2013-06-16 06:16:01
【问题描述】:
我正在使用 Meteor 构建一个免费的电视跟踪应用程序,但在此过程中我似乎碰壁了。我的模板的一部分包含以下内容:
<template name="results">
<div class="row">
<div class="span6 offset6">
<h4>Search Results</h4>
<ul>
{{#each series}}
<li><a href="http://thetvdb.com/?tab=episode&seriesid{{tvdbseriesid}}&lid={{tvdblid}}">{{seriesname}}</li>
{{/each}}
</ul>
</div>
</div>
</template>
然后,在我的客户端 js 代码中,我这样做:
Template.search.events({
'click #search' : function(evt) {
evt.preventDefault();
var query = $('#query').val();
if (query) {
Meteor.call('queryshow', query, function(error, result) {
Template.results.series = result;
console.log(Template.results());
});
}
}
});
“queryshow”服务器方法只是一个 Collection 查询方法,它返回一个包含我的模板所需数据的对象。
但问题在于:更改并未反映在浏览器窗口中。我似乎不知道为什么,因为下面显示的 console.log(Template.results()) 调用返回了我期望的正确 html。
我该如何解决这个问题?我尝试查看 Meteor 的文档,但似乎找不到强制重新渲染模板的功能。任何帮助将不胜感激!
【问题讨论】:
-
顺便说一句,这里有完整的代码:link
标签: javascript html templates dom meteor