我有一个计算属性,在选中复选框时不会触发。如果选中,我只需要将属性的值从 1 切换到 0。
App.Address = Ember.Object.extend({
shipType: 1,
shipType: function() {
var type = this.get('shipType');
if (type === 1) {
type = 0;
return type;
} else {
type = 1;
return type;
};
}.property('shipCommerical')
})
在我的模板中:
<label>{{view Ember.Checkbox checkedBinding='shipCommerical'}} Check Me </label>
我有其他计算属性位于同一位置并以相同的方式。唯一的区别是它们是文本字段而不是复选框。这有什么区别吗?
最佳答案
好吧,您的“船舶商业”拼写错误,但看来您在两个地方都拼写错误。此外,您还有一个递归循环,您的计算属性需要自身,我假设您打算在计算属性内使用 shipCommercial
而不是 shipType
。
模板
<label>{{input type='checkbox' checked=shipCommercial}} Check Me </label>
属性
shipCommercial:true,
shipType: function() {
var shipCommercial = this.get('shipCommercial');
return shipCommercial ? 0 : 1;
}.property('shipCommercial')
示例
关于javascript - Ember.js 计算属性未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619906/