在客戶端啓動我訂閱的東西:如何處理模板呈現但數據尚未準備好的情況?
Meteor.publish("Roles", function(){
return Roles.find();
});
Meteor.startup(function() {
if(Meteor.isClient) {
Meteor.subscribe('Roles');
}
});
和角色的模板:
Template.roles.helper(function() {
allRoles: function() {
return Roles.find().fetch();
}
})
<template name="roles">
<div>
{{#with allRoles}}
<label>{{> role }}</label>
</div>
</template>
的問題是有時roles
模板呈現前Roles
已準備就緒。
如何處理這種情況?
這有效,但我會在幾個地方(網址)使用這個角色模板,所以每次在這些網址之間切換時,角色模板都會被創建並訂閱「角色」,服務器將發佈「角色」每次。但角色集合只需要發佈一次,因爲角色的內容是固定的。我該如何解決這個問題? – Sato
你的路線怎麼樣? –
使用'鐵路由器',但我不想使用'waitOn',因爲在每條路由中,我必須寫相同的'waitOn:function(){return Meteor.subscribe('Roles');}'。 – Sato