Ember - What's the difference between controller's content and model property

前端 未结 2 1675
旧巷少年郎
旧巷少年郎 2020-12-09 06:26

In ember\'s official guide, it provides two ways to set the controller\'s underlying object. First is setting the model property:

App.SongsRoute = Ember.Rout         


        
相关标签:
2条回答
  • 2020-12-09 06:35

    In the documentation - http://emberjs.com/api/classes/Ember.Controller.html#property_model - it clearly states that when retrieving or modifying a controller's model, the model property should be used instead of the content property.

    0 讨论(0)
  • 2020-12-09 06:46

    It seems they are the same thing,

    https://github.com/emberjs/ember.js/blob/v1.3.0/packages/ember-runtime/lib/controllers/controller.js#L44

    Ember.ControllerMixin = Ember.Mixin.create(Ember.ActionHandler, {
    ....
    model: Ember.computed.alias('content'),
    ....
    

    The model property is an alias for content.

    Also,

    https://github.com/emberjs/ember.js/blob/v1.3.0/packages/ember-routing/lib/system/route.js#L849

    which mentions that,

    By default, the `setupController` hook sets the `content` property of
    the controller to the `model`.
    

    UPDATE Deprecated since v1.7.0 and the code placed in a mixin. https://github.com/emberjs/ember.js/blob/v2.12.0/packages/ember-runtime/lib/mixins/controller.js Along with the related deprecation mixin. https://github.com/emberjs/ember.js/blob/v2.12.0/packages/ember-runtime/lib/mixins/controller_content_model_alias_deprecation.js

    0 讨论(0)
提交回复
热议问题