如何在Ember.js中引用模型?
我正在处理toDoMVC和下面的代码,只是不太理解如何在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
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')
的输出将是一个函数
顺便说一句,我尽量不把时态搞砸,但很可能没有成功。:)对不起