我的车把模板有这样的东西:
Template.test.people
<template name="test">
<ul>
{{#each people}}
{{ name }} //name is present in every object in the Template.test.people array.
{{/each}}
</ul>
</template>
当用户点击按钮时,Template.test.people
变量在运行时的某个时刻被实例化(Template.test.people = [...]
)。此时,上述无序列表将被取消隐藏。然而,该列表显示为空列表!
但是,即使我可以转到控制台并读取Template.test.people
变量的值,此时也可以清楚地看到它有信息。变量是一个对象数组。
我尝试了另一种解决方法,只是为了确保事情得到更新&#34;,并通过类似的函数传递我的变量:
Template.test.helper = function(){
return Template.test.people;
}
然后将模板更改为:
<template name="test">
<ul>
{{#each helper}}
{{ name }}
{{/each}}
</ul>
</template>
也没用。
答案 0 :(得分:2)
简单地重新分配静态模板数据不会触发任何类型的反应重新计算。将对象存储在Session
,集合或其他响应数据源中:
Template.test.people = function() {
return Session.get( "people" );
};
Template.test.events({
"click #the-button": function() {
Session.set( "people", [{ foo: "bar" }, { baz: "qux" }] );
}
});