dou*_*lea 11 ember.js ember-router
似乎在嵌套路由的情况下,model在调用任何setupController钩子之前调用每个路径的钩子.那么孩子如何安全地访问父母的模型呢?
就我而言,模型实际上并不是持久化实体.它们都是基于params在模型钩子中生成的.所以我不认为Parent.find()/ ajax/promise似乎是要走的路.理想情况下,父模型应该可以访问ParentController,不是吗?或者这种方法不符合最佳做法?
App.Router.map(function() {
this.resource("parent", { path: "parent/:name" }, function() {
this.route('child');
});
});
App.ParentRoute = Ember.Route.extend({
model: function(params) {
// build a model here, based on params.
// no asynch stuff happening, should be good to go.
return { lastName: params.name }
},
setupController(controller, model) {
controller.set('model', model);
}
});
App.ChildRoute = Ember.Route.extend({
model: function(params) {
parentModel = this.controllerFor('parent').get('model');
return {lastName: parentModel.get('name') + 'son' };
// parent Model is null
// need the parent model HERE,
// but I can't get it through the controller yet
// as setupController in the parent route hasn't been called yet
}
});
Run Code Online (Sandbox Code Playgroud)
dou*_*lea 28
modelFor
我怎么想念那个?
App.ChildRoute = Ember.Route.extend({
model: function(params) {
parentModel = this.modelFor('parent');
return {lastName: parentModel.get('name') + 'son' };
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6563 次 |
| 最近记录: |