0
从我能理解的官方文档中,函数作为参数传递到template.autorun
应该在DOM
中有更新时运行。Template.autorun()和Tracker.afterFlush()不起作用
但我没有发现它发生。
//dummies.html
<template name="dummies" >
{{#each dummies}}
{{this.count}}
{{/each}}
</template>
//dummies.js
Template.dummies.onRendered(function(){
var counter = 0;
setInterval(function(){
Dummies.insert({count: counter++})
}, 2000);
this.autorun(function(){
console.log("From autorun:", Dummies.find().count()) //--->Line1
Tracker.afterFlush(function(){
console.log("From afterFlush:", Dummies.find().count()) //--->Line2
});
});
});
Template.dummies.helpers({
dummies: function(){
return Dummies.find();
}
});
两个Line1
和Line2
正在执行一次。不应该每次调用Dummies.insert()
被调用?
我的意思是,不应该在模板更新时调用它们吗?
如果我误解了文档,有没有办法实现这一点?
感谢您的关注...我也怀疑这...然后我安装了'不安全'和'autopublish'来发现它是否与出版物和订阅有关...但结果是一样的 –
做你每2秒在MongoDB中获得新记录?您的浏览器中的内容是否更新,并显示模板显示的计数? –
是的,它确实.... –