ember@2.1.0
ember-data@2.1.0
我将一个简单的模型传递给一个组件但得到了以下对象(我看起来实际的ember-data模型在value属性下)。为什么模型指向这个而不是实际模型?
路线
export default Ember.Route.extend({
model() {
return this.store.createRecord('employee');
}
})
模板
{{log model}} {{!-- logging here correctly displays the ember-data object --}}
{{my-component model=model}}
我也试过这个:
<my-component model={{model}} /> <!-- which prints the folowing in HTML <model-editor model="<dummy@model:employee::ember395:null>"></model-editor>-->
组件(我的组件)
export default Ember.Component.extend({
layout,
didReceiveAttrs() {
console.log(this.attrs.model); //Prints the Object above
}
});
答案 0 :(得分:1)
您可以使用this.get('model')
代替this.attrs.model
来获得您期望的行为。
但是,如果您希望继续使用this.attrs.model
,则需要明确引用this.attrs.model.value
以获取model
属性值。
这是因为model
属性与value
一起传递,并且更新它的方式 - update
功能。
这个概念与mut
助手类似。 You can read more about this behavior here.