2015-12-17 3 views
0

Я стараюсь использовать базовое приложение Meteor для по умолчанию. Я хочу сделать какой-то процесс при каждом обновлении моей загрузки страницы. Tracker.autorun вызывается только в первый раз, но не для каждого обновления. Шаблоны обновляются автоматически, но только автозапуск не выполняется. Я протестировал автозапуск с автоматическим и неавтоматизированным режимом, но все же он не работает. Я использую meteor Meteor 1.1.0.2. Любое решение?Meteor Tracker.autorun не звонит при каждом обновлении

if (Meteor.isServer) { 
Meteor.publish("tasks", function() { 

    return Tasks.find(); 


});} 



if (Meteor.isClient) { 

Meteor.subscribe("tasks", function() { 

    console.log("On subscribe"); 

}); 

Tracker.autorun(function() { 

    console.log("On Load"); 
});} 

ответ

0

Если вы хотите использовать блок автозапуска, необходимо поместить внутрь автозапуск реактивный элемент, который будет запускать его. В вашем случае, тогда было бы:

Tracker.autorun(function() { 
    var myCursor = Tasks.find().fetch(); 
    console.log("On Load"); 
});} 

Read this, чтобы узнать больше о реакционной способности mechanisms.To сделать его чище, вы можете также прикрепить автозапуск в шаблон (см ссылку)

+0

До сих пор не работает , Используется также ссылка http://stackoverflow.com/questions/29443513/meteor-tracker-autorun-observechanges-collections-not-working-as-expected. все еще не работает –

+0

ну, 'instance' - это просто имя переменной, которую он использует для' this' в 'onCreated',' this', ссылаясь на экземпляр шаблона. Убедитесь, что ваша публикация работает, набрав консоль 'console.table (Tasks.find(). Fetch())'. Также обратите внимание, что автозапуск будет повторяться только в том случае, если содержимое * опубликованных * данных изменилось. – Billybobbonnet

+0

Meteor.publish («tasks», function() { console.log («публикация»); return Tasks.find() ; }); Публикация не выполняется при каждом обновлении, но шаблоны обновляются плавно –

Смежные вопросы