Ember.js:从组件的 javascript 获取模型关系
Ember.js: getting model relationships from component's javascript
我正在构建一个组件,我注意到一个对我来说似乎很奇怪的行为。我的组件调用如下:
{{my-component model=model}}
我的模型包含如下关系:
type: DS.belongsTo('type')
现在,在 my-component.js
中,如果我登录到控制台 this.get('model.type.name')
(或 this.get('model').get('type').get('name')
),我会得到 undefined
。但是,如果在 my-component.hbs
中我插入 {{model.type.name}}
,该值将正确显示。
我不太理解这种行为:如何从组件的 javascript 中访问模型的关系,就像在组件的 Handlebars 模板中一样?
谢谢!
在 ember-data 中,关系被视为 Promise,因此您应该使用 then
作为结果。
this.get('model').get('type').then((result) =>{
console.log(' Name ', result.get('name'));
});
参考:
https://guides.emberjs.com/v2.14.0/models/relationships/#toc_relationships-as-promises
我正在构建一个组件,我注意到一个对我来说似乎很奇怪的行为。我的组件调用如下:
{{my-component model=model}}
我的模型包含如下关系:
type: DS.belongsTo('type')
现在,在 my-component.js
中,如果我登录到控制台 this.get('model.type.name')
(或 this.get('model').get('type').get('name')
),我会得到 undefined
。但是,如果在 my-component.hbs
中我插入 {{model.type.name}}
,该值将正确显示。
我不太理解这种行为:如何从组件的 javascript 中访问模型的关系,就像在组件的 Handlebars 模板中一样?
谢谢!
在 ember-data 中,关系被视为 Promise,因此您应该使用 then
作为结果。
this.get('model').get('type').then((result) =>{
console.log(' Name ', result.get('name'));
});
参考: https://guides.emberjs.com/v2.14.0/models/relationships/#toc_relationships-as-promises