can*_*eel 8 ember.js ember-data
我是ember的新手,并没有真正区分两种语法.我应该在哪种情况下使用哪种情况.即哪一个更适合在路由中使用哪个更适合在控制器中使用.
this.get('model')
Run Code Online (Sandbox Code Playgroud)
相反
this.modelFor('artists/show')
Run Code Online (Sandbox Code Playgroud)
this.get('model') //controller call
this.modelFor('someRoute') //route call
Run Code Online (Sandbox Code Playgroud)
在Ember中,setupController默认情况下路由挂钩执行以下一行代码:
setupController: function(controller, model){
controller.set('model', model);
}
Run Code Online (Sandbox Code Playgroud)
这将获取从model钩子返回的任何内容,并model使用此值设置控制器的属性.从控制器内部,this.get('model')是访问此模型的正确方法.此外,开发人员可以覆盖此挂钩并执行不同的操作,例如设置model等于从model挂钩返回的内容的某些子属性(controller.set('model', model.prop).这值得注意,因为当您this.modelFor从另一个路由调用时,您不会获得路由的关联控制器由设置模式setupController.你得到什么从返回model挂钩,这在幕后是路由的currentModel财产,如果我没有记错.
| 归档时间: |
|
| 查看次数: |
9139 次 |
| 最近记录: |