我正在尝试Ember,并发现与文档之间存在差异。我将Ember CLI用于ember generate template index
和ember generate route index
。然后,我在中建立了一个简单的模型index.js
:
model: function () {
return {name: "Joe"};
}
通过阅读文档和示例,我希望能够仅通过{{name}}
index.hbs模板访问该值,但是我只能通过获得该值{{model.name}}
。为什么?
灰烬1.11之前,你可以使用ObjectController,工作方式类似于代理到相应的路线model
,你可以写{{name}}
的model.name
。
在Ember 1.11中弃用了ObjectController,详情请参见:http : //emberjs.com/deprecations/v1.x/#toc_objectcontroller。因此,在最新的Ember版本中,您应该改用Controller
class ObjectController
,它不能用作的代理model
。您可以将其视为具有model
相应路线属性的Ember Object 。因此{{name}}
意味着控制器的属性,{{model.name}}
-模型的属性。
例如:
//route
model: function () {
return {name: "Joe"};
}
//controller
import Ember from 'ember';
export default Ember.Controller.extend({
name: 'Marry'
});
//template
{{name}} //=> Marry
{{model.name}} //=> Joe
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句