我正在使用
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 :(得分:0)
第二个版本对您路线中postId
参数的更改有效。根据您在流路由器中定义路由的方式,每次更改postId
参数时,您可能会也可能不会创建新模板。如果您不这样做(并且最好不要尝试),那么第二个实现仍然会将您的订阅更新为URL中参数的正确选择。
如果您不需要反应性,例如,因为每次访问新路线时您都会重新创建模板,那么第一个就没问题。但实际上,即使这样,使用第二种方法也没有什么害处,除了代码的可读性之外。