【发布时间】:2015-09-17 09:55:49
【问题描述】:
我有一个组件,它提供模型的每条记录(“数据”),以及定义要使用的记录属性的“元”信息,并将其呈现到表中。在组件中,我尝试将底层记录属性绑定到每个 UI 元素 {{tdVal}}:
tdVal : function(){
return Ember.computed.alias('data.' + this.get('meta').get('field'));
}.property()
不幸的是,这只会在 UI 中呈现 [object object]。为了比较,以下内容正确呈现了所有项目,但显然没有绑定:
tdVal : function(){
return this.get('data').get(this.get('details').get('field'));
}.property()
我是否以完全错误的方式处理这个问题?任何帮助将不胜感激。
更新
为了清楚起见,如果我绑定到文字键而不是从元信息派生的属性键,我仍然会遇到完全相同的问题,所以我认为使用派生键不是问题:
tdVal : function(){
return Ember.computed.alias('data.partner_id');
}.property()
更新
如果我将针对组件的绑定设置为属性而不是分配给该属性的函数,那么它可以工作。问题是我不能这样做,因为别名的键需要派生而不是文字:
export default Ember.Component.extend({
tdVal : Ember.computed.alias('data.partner_id')
})
【问题讨论】:
标签: ember.js