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中獲得新記錄?您的瀏覽器中的內容是否更新,並顯示模板顯示的計數? –
是的,它確實.... –