Ember.js:从组件';s javascript
我正在构建一个组件,我注意到一个行为对我来说非常奇怪。My component的调用如下所示:Ember.js:从组件';s javascript,javascript,ember.js,handlebars.js,ember-components,Javascript,Ember.js,Handlebars.js,Ember Components,我正在构建一个组件,我注意到一个行为对我来说非常奇怪。My component的调用如下所示: {{my-component model=model}} type: DS.belongsTo('type') 我的模型包含如下关系: {{my-component model=model}} type: DS.belongsTo('type') 现在,在my component.js中,如果我登录到控制台this.get('model.type.name')(或this.get('model
{{my-component model=model}}
type: DS.belongsTo('type')
我的模型包含如下关系:
{{my-component model=model}}
type: DS.belongsTo('type')
现在,在my component.js
中,如果我登录到控制台this.get('model.type.name')
(或this.get('model').get('type').get('name')
),我会得到未定义的。但是,如果在my component.hbs
I insert{{{model.type.name}}
中正确显示该值
我真的不理解这种行为:如何像在组件的把手模板中一样从组件的javascript中访问模型的关系
谢谢 在余烬数据中,关系被视为承诺,因此您应该使用然后作为结果
this.get('model').get('type').then((result) =>{
console.log(' Name ', result.get('name'));
});
参考:
感谢您的反馈,但是,如果我尝试执行this.get('model')。然后(model=>{console.log(model)})
,我会得到TypeError:this.get(…)。那么它不是一个函数。我不明白为什么会出现这种情况:/不过,您的代码片段实际上是有效的,所以我想知道为什么this.get('model')。那么不是一个函数……像belongsTo
和hasMany
这样的关系将返回Promise
。这里的model
与model
hook的解析模型无关。你可以只为允诺人做,
,这很有道理。非常感谢你!