如何在Ember.js中引用模型?

如何在Ember.js中引用模型?,ember.js,Ember.js,我正在处理toDoMVC和下面的代码,只是不太理解var model=this.get('model')中的this引用了什么 它是指控制器还是路线。如果它是控制器,那么我们在哪里声明型号x与控制器y一起工作 Todos.TodoController = Ember.ObjectController.extend({ isCompleted: function(key, value){ var model = this.get('model'); ... }.proper

我正在处理toDoMVC和下面的代码,只是不太理解
var model=this.get('model')中的
this
引用了什么

它是指
控制器
还是
路线
。如果它是
控制器
,那么我们在哪里声明
型号x与控制器y一起工作

Todos.TodoController = Ember.ObjectController.extend({
  isCompleted: function(key, value){
    var model = this.get('model');
    ...
  }.property('model.isCompleted')
});

I.通常
函数中的变量
Ember.Object
引用该
Ember.Object
的实例(在您的例子中是
Todos.TodoController

例如:

App.SomeRoute = Em.Route.extend({
    activate: function() {
        this; // this is App.SomeRoute instance ref.
    }
});

App.SomeController = Em.Controller.extend({
    someMethod: function() {
        this; // this is App.SomeController instance ref.
    }
});

App.SomeView = Em.View.extend({
    someMethod: function() {
        this; // this is App.SomeView instance ref.
    }
});
等等

II.
此.get('model')
只是控制器的一个属性(如果需要,可以为该属性设置任何值)*在ember v1.7之前,模型是控制器名为
内容的属性的
ember.computed.alias
,但这种行为在最新的ember版本中是存在的

Em.Route
中还有另一个
model
属性,它不同于
Em.ObjectController.model
属性。实际上,它是一个在路由(转换)序列中调用的函数,返回数据,
Em.Route
使用该数据在
Em.Route
的钩子中设置
controller.model
属性。因此,
Em.Route
方法内部的
this.get('model')
的输出将是一个函数

顺便说一句,我尽量不把时态搞砸,但很可能没有成功。:)对不起