【发布时间】:2013-12-10 02:12:59
【问题描述】:
我正在使用流星路由器编写一个简单的流星应用程序。我的问题是路由器知道请求参数,但模板不知道。所以我总结了这样的约定:
Meteor.Router.add({'/projects/:id', function(id) {
Session.set('currentProjectId', id);
return 'project';
}
Template.project.project = function() {
return Projects.findOne(Session.get('currentProjectId'));
}
有没有更简洁的方法在模板级别获取当前请求 ID 参数,以避免所有这些会话变量?
【问题讨论】:
-
我相信它就是这样设计的。 Session 允许模板是响应式的,因此如果您在 url 上的 id 更改,您的模板将更新。
-
我同意这是流星的方式。拥抱它:)
-
大多数人认为这是不稳定的,但正如@adrianj98 所说,这是 Meteor 方式。一开始连我自己都觉得不舒服。但后来我发现它确实有效!
-
Session 没什么问题,很干净。不要被它的名字所迷惑,它不是某种 cookie 或其他东西,它只是一个反应性的普通 hashmap。
标签: meteor