0

我有一个具有此字段的模型

diaryItemLabel: DS.attr('string'),

我想从我的控制器中的这个字段访问数据。

Controller.js

在此处输入图像描述

我想用从diaryItemLabel获得的任何数据替换“添加”

我不能使用this.get('model.diaryItemLabel')。它给了我 this.get() 不是一个函数。我尝试使用Ember.get('model', 'diaryItemLabel')。它给了我空字符串。

编辑 1:如果model.diaryItemLabel变量为空,则将默认设置为“添加”。

有人可以指导我正确的方向吗?

谢谢

4

1 回答 1

1

控制器model只有在钩子之后才会获得属性,setupController钩子之后会被调用model

创建依赖model.diaryItemLabel于控制器的计算属性,它将返回您所需的对象

confirm:Ember.computed('model.diaryItemLabel',function(){
 let temp = {};
 temp.accept= { text: Ember.isEmpty(this.get('model.diaryItemLabel')) ? 'Add' : this.get('model.diaryItemLabel'), buttonClass: 'btn btn-primary'};
 temp.reject = { text: 'cancel', buttonClass: 'btn btn-default'};
 return temp;
}
于 2017-01-30T02:22:47.037 回答