我想包括一個計算標誌在我的模型中,當一個特定的字符串存在於包含的數組中。從陣列的灰燼計算屬性
userType: DS.attr(), // ['Don','Ben','Dec', 'Con']
isDon: Ember.computed('userType', function() {
return (!((this.get('userType')).includes('Don'));
}).property('userType'),
有幫助嗎?
我想包括一個計算標誌在我的模型中,當一個特定的字符串存在於包含的數組中。從陣列的灰燼計算屬性
userType: DS.attr(), // ['Don','Ben','Dec', 'Con']
isDon: Ember.computed('userType', function() {
return (!((this.get('userType')).includes('Don'));
}).property('userType'),
有幫助嗎?
您的語法錯誤。它看起來你混合定義計算性能的兩種不同的方式,
isDon: Ember.computed('userType', function() {
return (!((this.get('userType')).includes('Don'));
}),
如果要重新計算isDon
每次當你添加/ userType
刪除元素再考慮相關的密鑰userType.[]
參考
https://guides.emberjs.com/v2.13.0/object-model/computed-properties/ https://guides.emberjs.com/v2.13.0/object-model/computed-properties-and-aggregate-data/#toc_code-code-vs-code-each-code
由於一些奇怪的原因,userType不被視爲一個數組,所以我不得不創建一個計算的屬性,如
userRoles: Ember.computed('userType.[]', function() {
return Ember.A(this.get('userType'));
}),
isDon: Ember.computed('userRoles', function() {
return this.get('userRoles').filter((item) => item == 'Don').length > 0;
}),
'.property()'讓我想知道你是否在看老文檔。你在什麼版本上? – sheriffderek