2015-11-06 35 views
1

我使用模板級預訂

Template.blogPost.onCreated(function() { 
    var postId = FlowRouter.getParam('postId'); 
    self.subscribe('singlePost', postId); 
}); 

然而,我所看到的例子與

Template.blogPost.onCreated(function() { 
    var self = this; 
    self.autorun(function() { 
    var postId = FlowRouter.getParam('postId'); 
    self.subscribe('singlePost', postId); 
    }); 
}); 

的區別是什麼和它的方法是做它的首選方式是什麼?

+0

我想你的意思是'this.subscribe'在第一個例子中。 –

回答

0

第二個版本對路由中參數postId的更改產生反應。根據您在流路由器中定義的路由的方式,每次更改postId參數時,可能會也可能不會創建新模板。如果你不這樣做(並且儘量不去嘗試),那麼第二個實現仍然會將你的訂閱更新爲對於URL中的參數可能是正確的。

如果您不需要這種反應性,例如每次訪問新路由時重新創建模板,那麼第一個就可以。但真的,即使這樣,使用第二個也沒有什麼壞處,除了代碼的可讀性。