在Ember中加载路径时,如何在beforeModel
函数中访问目标路由参数?
文档中提到beforeModel
是中止或重定向转换的正确位置 - 但如果没有目标参数,我无法添加所需的逻辑来确定是否应该重定向。
App.PostRoute = Ember.Route.extend({
beforeModel: function(transition) {
// transition doesn't seem to have the target params
}
});
我也无法找到有关API文档中描述的Transition对象的任何明确文档:
http://emberjs.com/api/classes/Ember.Route.html#method_beforeModel
答案 0 :(得分:5)
从路线中,您可以使用:
App.PostRoute = Ember.Route.extend({
beforeModel: function(transition) {
var params = this.paramsFor('post');
}
});
但是不要忘记在相应的控制器中声明参数:
App.PostController = Ember.Controller.extend({
queryParams: 'author title'.w()
});
这里,例如,我宣布author
& title
允许参数。其他任何内容都不会被解析或传递给paramsFor
来电者。