我有“Items”集合,每个实例都有“title”和“price”属性。
模板HTML:
<template name="home">
<div>
<h1>Items</h1>
{{#each items}}
<p data-price="{{price}}">{{text}}</p>
{{/each}}
</div>
</template>
模板助手:
Template.home.helpers({
items: function() {
return Items.find();
}
});
例如,我想循环遍历每个“p”标记并获取“data-price”属性值。 我在哪里放这个代码。我试图使用模板“呈现”事件,但这不起作用。 那么有意义的是,当模板“呈现”事件被触发时,并不意味着项目助手已经返回了集合。
所以这将返回空数组:
Template.home.rendered = function() {
var items = template.findAll('p');
console.log(items);
}
这将根据需要运作:
Template.home.rendered = function() {
var template = this;
// wait for 1 second, and then try to loop over "p"
setTimeout(function() {
var items = template.findAll('p');
console.log(items);
}, 1000);
};
那么如何在项目助手完成数据后运行代码?也许有一些回调呢?