2016-07-26 5 views
1

私はemberjsを初めて使っています。 テンプレートでは、私は今 {{labeltext}}計算されたプロパティを更新するには?

を持って、私はデフォルトで をしたい、labeltextがあるべき、 'こんにちは' 条件Aの場合は、その後、labeltext =うわー 条件Bの場合は、その後、labeltext =おかげ 上記の要件を満たすemberjsのコンポーネントに計算されたプロパティを書き込む方法はありますか?あなたのコンポーネントで

答えて

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'; 
}) 

あなたが計算プロパティのゲッターとセッターを持っているかもしれませんが、

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/

関連する問題