![](/img/trans.png)
[英]How do I get at the values for multiple data parameters in Meteor iron-router routes?
[英]how i can do nested levels with iron-router in meteor?
我是铁路由器的新手,这是问题所在(下面给出的代码)
使用陨石和流星0.8.1
App.Router.map(function() {
this.resource('post', { path: '/post/:post_id' }, function() {
this.route('edit');
this.resource('comments', function() {
this.route('new');
});
});
});
这是在emberjs路由器中完美工作的情况,我如何使用Iron-router解决流星中这种类型的嵌套路由级别?
认为可以通过会话解决?
在路由器中
this.route("v", {onBeforeAction: function() {Session.set('uniqueId', this.params._id);}, path: "/v/:_id"});
在Template.v.events中
"click #v": function(event, target) {
event.preventDefault();
Accounts.verifyEmail(Session.get('uniqueId'), function(error) {
if(error) throwError(error.reason); else Meteor.Router.to("/profile");
});
您是否要混合使用来自不同框架的代码? 我并不是您要尝试做的事情的完全替代者,但是如果您的路由器可以工作,并且您想访问模板中的数据,则应该使用模板数据上下文。
如果您的路线是这样定义的:
this.route('your.route', {path: '/yourroute/:_id'});
在路线的控制器中,您可以尝试以下操作:
YourTemplateController = RouteController.extend({
waitOn: function () {
},
data: function () {
return this.params._id;
},
action: function () {
this.render();
}
});
现在可以通过以下方式在模板事件中访问this.params._id
:
Template.YourTemplate.events({
"click #v": function(event, template) {
console.log(template.data);
}
)};
请注意,事件对象的第二个参数是模板,而不是目标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.