由於流星的性質,其中Template.<name>.rendered
在收集之前執行,我可以使用鐵路由器waitOn
。鐵路由器waitOn在Chrome中不起作用
這是在呈現頁面之前等待播放列表啓用。它適用於Firefox和IE(具有諷刺意味),但從未在Chrome中使用。
Chrome控制檯指出的錯誤是Cannot read property 'uploadType' of undefined
這很有意義,因爲對象/集合無法在Chrome中加載。
我該怎麼做才能遇到這個問題? FYI的waitOn是這樣的:
//router.js
this.route('videoPlayer',{
path:'/video',
waitOn: function(){
return [Meteor.subscribe('videoPlaylist'), Meteor.subscribe('video')];
}
});
它不單獨預訂時甚至工作。
有您激活默認'使用'Router.onBeforeAction(「loading」)加載'鉤子;'? – saimeunt 2014-09-21 01:43:53
@saimeunt nope。我應該在哪裏添加它?據我所知,waitOn是用來保存渲染的。 – 2014-09-21 01:45:17
你可以把它放在你的全局路由器配置中。我認爲這個問題可能來自於Chrome瀏覽器JS引擎比Firefox/IE更快,從而在收集數據仍然不可用的狀態下觸發第一個有問題的代碼評估。 waitOn應該返回你想要等待的訂閱,但它需要默認的加載鉤子,它負責延遲渲染,直到數據準備就緒。 – saimeunt 2014-09-21 01:50:29