从Ember 1.12开始,下面的代码块会生成deprecation warning,因为有些更改会鼓励使用不同的getter和setter。我理解这个概念,但我不确定如何重构使用Ember.computed.apply()
的内容,以便解决这些弃用警告。
var args = this.constructor.primaryKeys.concat(function(_, setValue) {
var keyNames = this.constructor.primaryKeys;
if (setValue === undefined) {
var key, value;
for (var i = 0; i < keyNames.length; i++) {
key = keyNames[i];
value = this.get(key);
if (!Ember.isNone(value)) {
return value;
}
}
} else {
if (this.get('primaryKey') !== setValue) {
this.set(keyNames[0], setValue);
}
return setValue;
}
});
var primaryKey = Ember.computed.apply(Ember, args);