gpt4 book ai didi

ember.js - this.get ('model' ) 和 modelFor 之间的区别

转载 作者:行者123 更新时间:2023-12-02 16:04:13 25 4
gpt4 key购买 nike

我对 ember 很陌生,并没有真正理解两种语法之间的区别。我应该在哪里和什么情况下使用其中一种。 IE。哪一种更适合在路由中使用,哪一种更适合在 Controller 中使用。

this.get('model')

相对于

this.modelFor('artists/show')

最佳答案

this.get('model') //controller call
this.modelFor('someRoute') //route call

在 Ember 中,路由 setupController 钩子(Hook)默认执行以下一行代码:

setupController: function(controller, model){
controller.set('model', model);
}

这将获取从 model Hook 返回的任何内容,并使用该值设置 Controller 的 model 属性。在 Controller 内,this.get('model') 是访问此模型的正确方法。此外,开发人员可以覆盖此 Hook 并执行不同的操作,例如将 model 设置为等于从 model Hook 返回的某个子属性 (controller.set ('model', model.prop)。这是值得注意的,因为当您从另一个路由调用 this.modelFor 时,您不会获得该路由的关联 Controller 的模型,该模型由setupController。您可以获得从 model Hook 返回的任何内容,如果我没记错的话,它的幕后是路由的 currentModel 属性。

关于ember.js - this.get ('model' ) 和 modelFor 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30402235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com