【发布时间】:2014-03-03 10:05:02
【问题描述】:
我希望将第二个参数传递给我的计算属性方法,但事实并非如此。我需要这个,所以我可以调用一个 setter 来用新数据保存我的模型。而不是这种行为,似乎在我保存模型之前再次调用了我的计算属性,并且破坏了新值 - 因为我只得到一个参数,所以根本不会调用 setter。计算属性:
changeBananas: function(k, v) {
var bananas = this.get('bananas'), bananaList = [];
console.log('args: ');
console.log(arguments);
bananaList = bananas.map(function(b) {
return { color: b.get('color') };
});
if (arguments.length > 1) {
console.log('I never get called!');
return bananaList;
}
return bananaList;
}.property('bananas.@each')
完整的 JSBin:
http://jsbin.com/razimaxu/2/edit
我尝试了 propertyWillChange() 和朋友试图阻止观察者,但它没有做任何事情。还有另一种方法可以做到这一点吗?我的计算属性用于在可编辑字段中显示项目之前对项目进行一些格式化。我希望能够更改所述字段并像连接到常规模型属性的任何其他字段一样保存。
【问题讨论】:
标签: ember.js