我是emberjs的新手。 在模板中,我有 {{LabelText的}}
现在,我想要 默认情况下,labeltext应为'Hello' 如果条件A,则labeltext = Wow 如果条件B,那么labeltext =谢谢 有没有办法在emberjs中的组件中编写计算属性来执行上述要求?
答案 0 :(得分:0)
在您的组件中,
labeltext:Ember.computed('conditionVar',function(){
var val = this.get('conditionVar');
if(Ember.isEqual(val,'conditionA')){
return 'Wow';
}
else if(Ember.isEqual(val,'conditionB')) {
return 'Thanks';
}
return 'Hello';
})
您可能拥有计算属性的getter和setter,
labeltext: Ember.computed('conditionVar', function () {
get(key){
var val = this.get('conditionVar');
if (Ember.isEqual(val, 'conditionA')) {
return 'Wow';
}else if (Ember.isEqual(val, 'conditionB')) {
return 'Thanks';
}
return 'Hello';
},
set(key, value){
// you can set conditionVar so that it will return the same value when you request it again.
if(value === 'Wow') {
this.set('conditionVar', 'conditionA');
}
else if(value === 'Thanks') {
this.set('conditionVar', 'conditionB');
}
return value;
}
}),
参考官方指南:https://guides.emberjs.com/v2.3.0/object-model/computed-properties/