[英]Meteor - Stop Tracker Autorun when Template is Destroyed (user leaves page)
在我的Meteor模板中,我有一個名為ohlcInit()
的函數,當Mongo中有新數據時它會自動運行:
Template.Live.rendered = function(){
function ohlcInit() {
// computations run here
}
Tracker.autorun(function() {
ohlcInit();
});
};
當用戶在頁面/模板上進行定義時,這非常有用,但只要用戶導航到站點上的另一個URL並且模板被銷毀,就會在控制台中拋出錯誤:
Tracker重新計算函數的異常:undefined不是函數TypeError:undefined不是函數在ohlcInit( http:// localhost:3000 / client / views / live / live.js?dd5fb618daf9ea9e233c37caaa99002009e987:271:33 )的http://在Tracker.Computation的Tracker :3000 / client / views / live / live.js?dd5fb618daf9ea9e233c37caaa9ed200fe3e987:306:5的Tracker.Computation._compute( http:// localhost:3000 / packages / tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:288:36 ) .rcompute( http:// localhost:3000 / packages / tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:302:14 )在Tracker.flush( http:// localhost:3000 / packages / tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:430:14 )
當用戶導航到新的URL /模板時,如何安全地停止/結束自動運行計算?
我正在使用iron:router
。
使用新的Template.autorun函數,該函數在模板被銷毀后自動清理。 要在rendered
回調中使用它,只需用Tracker.autorun
替換Tracker.autorun
this.autorun
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.