1
我在template.onDestoyed中出現了一個錯誤和奇怪的行爲;無法調用View#從被銷燬的回調中訂閱
我有代碼爲無限滾動訂閱(它存儲在特殊的訂閱模板)它工作正常,直到我切換到另一個路由,並創建一個新的實例的訂戶模板。
代碼:
Template.subscriber.onCreated(function() {
var template = this;
var skipCount = 0;
template.autorun(function(c) {
template.subscribe(template.data.name, skipCount, template.data.user);
var block = true;
$(window).scroll(function() {
if (($(window).scrollTop() + $(window).height()) >= ($(document).height()) && block) {
block = false;
skipCount = skipCount + template.data.count;
console.log(template.data);
console.log("skip_count is "+skipCount);
template.subscribe(template.data.name, skipCount, template.data.user, {
onReady: function() {
block = true;
},
onStop: function() {
console.log('route switched, subscribtion stopped');
}
});
}
});
})
});
當我一個頁面,用戶做工精細,在「向下滾動」當我在另一個頁面去和「向下滾動」首先我從老用戶模板數據(什麼是必須在理論上被破壞)。在第二次(再次向下滾動)用戶的新實例開始正常工作。
我做錯了什麼?