Session.set('coursesReady', false)
;在啓動。全局模板助手內部的會話對象
UPDATE:
我把它做成一個簡單的問題。考慮下面的代碼。 內部router.js
Router.route('/', function() {
Meteor.subscribe("courses", function() {
console.log("data ready")
Session.set("coursesReady", true);
});
}
和主模板內Main.js
Template.Main.rendered = function() {
if (Session.get('coursesReady')) {
console.log("inject success");
Meteor.typeahead.inject();
}
消息 「注入成功」 之後的 「數據就緒」 被打印未打印。反應性如何在這裏不起作用?
我在哪裏包括'Meteor.typeahead.inject();'在這種情況下?我嘗試了幾次使用'waitOn',但似乎'waitOn'總是需要'Meteor.subscribe('courses');'返回。另外,我很好奇爲什麼反應性在這種情況下不起作用,無論訂閱問題如何。 – 2015-04-06 02:35:02
如果我只有訂閱,是'waitOn'比'subscribe('some_data',callback)'裏面的回調函數更好/更快嗎?我有我的另一個問題中描述的一些性能問題,http://stackoverflow.com/questions/29466051/how-to-debug-performance-issue-optimize-your-meteor-app – 2015-04-06 06:47:47
鑑於您擁有的文件數量是異常高的(這是你的另一個問題的話題),我會說無論你做什麼都需要很長時間。答案取決於你的UX應該是什麼。如果用戶很快看到頁面,但看不到數據很重要,我建議使用[模板訂閱](https://docs.meteor.com/#/full/Blaze-TemplateInstance-subscribe)。如果用戶看到加載頁面會更好,請使用'waitOn'。 – 2015-04-06 14:08:02