Я получил ошибку и странное поведение внутри template.onDestoed;
У меня есть код для подписки на бесконечную прокрутку (он хранится в специальном шаблоне подписки). Он работает нормально, пока я не переключусь на другой маршрут и не создам новый экземпляр шаблона подписчика.
Код:
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');
}
});
}
});
})
});
Когда я «прокручиваю вниз» на странице, подписчик работает нормально, когда я перехожу на другую страницу и «прокручиваю вниз», сначала я получаю данные из старого шаблона подписчика (который теоретически должен быть уничтожен) в первый раз. Во второй раз (снова прокрутите вниз) запуск нового экземпляра подписчика работает нормально.
Что я делаю неправильно?