Ember.js 在ember中,控制器、模型和路由器如何协同工作?

Ember.js 在ember中,控制器、模型和路由器如何协同工作?,ember.js,Ember.js,我很困惑控制器、模型和路由器在ember中是如何协同工作的?是否可以通过示例来演示这一点 route中定义的这个模型是什么,它与这个模型'app/models/someModel.js'有什么关系 app/routes/someRoute.js: export default Ember.Route.extend({ model: function() { return something; } 谢谢余烬致力于命名约定。路由器将其model函数返

我很困惑控制器、模型和路由器在ember中是如何协同工作的?是否可以通过示例来演示这一点

route中定义的这个模型是什么,它与这个模型'app/models/someModel.js'有什么关系

app/routes/someRoute.js:

    export default Ember.Route.extend({
       model: function() {
         return something;
    }

谢谢

余烬致力于命名约定。路由器将其model函数返回的值设置为控制器的属性
model
。因此,如果您在控制器中编写
this.get('model')
,您将看到路由器的model函数返回的值

此外,如果要使路线的模型采用特定形式,则需要将其映射到已定义的对象

App.SomeModel = Ember.Object.extend({
    firstName : '',
    lastName : '',

    fullName: function () {
       return this.get('firstName' + " " + this.get('lastName');
    }.property('firstName', 'lastName'),

    birthdate: function () {
       return moment(this.get('birth_date').format('MMMM Do YYYY');
    }.property('birth_date')
});
现在假设来自后端的数据采用以下格式:

{
  "firstName" : "PQR",
  "lastName" : "KLM",
  "birth_date" : "15 Oct 1992"
}
所以路由器将是

App.SomeRoute = Ember.Route.extend({
     model : function () {
         var promise = $.get('person.json');
         return promise.then(function (response) {
            return App.SomeModel.create(response); //Here response will be the JSON above.
         });
     }
});