Ember.js Ember.Binding.transform迁移到最新代码
Ember.Binding.transform已在最新的Ember中删除或替换。我有许多采用这种形式的绑定:Ember.js Ember.Binding.transform迁移到最新代码,ember.js,Ember.js,Ember.Binding.transform已在最新的Ember中删除或替换。我有许多采用这种形式的绑定: valueBinding: Ember.Binding.transform({ to: function(value, binding) { //return something }, from: function(value, binding) { //return something } }).from('parentView.content.fini
valueBinding: Ember.Binding.transform({
to: function(value, binding) {
//return something
},
from: function(value, binding) {
//return something
}
}).from('parentView.content.finishBy'),
有人能告诉我应该如何更新代码以适应新的制度吗?关于如何更新代码的讨论非常热烈 但是,在您的情况下,我认为您可以使用计算属性:
value: function(key, value){
if(arguments.length===1){
//return something
} else{
//set and return something
}
}).property('parentView.content.finishBy')
关于如何更新代码,有一个非常好的讨论 但是,在您的情况下,我认为您可以使用计算属性:
value: function(key, value){
if(arguments.length===1){
//return something
} else{
//set and return something
}
}).property('parentView.content.finishBy')
您可以将计算属性定义添加到
Ember.computed
,请参阅
:
Ember.computed.finishBy=function(){
返回Ember.computed('parentView.content.finishBy',函数(键){
var finishBy=Ember.getPath(这是“parentView.content.finishBy”);
return finishBy==='now';
}).cacheable();
};
然后您可以这样使用它:
App.obj=Ember.Object.create({
父视图:{
内容:{
finishBy:“现在”
}
},
finishProp:Ember.computed.finishBy()
});
请参阅中的更多示例
需要明确的是:您不必将自定义计算属性添加到
Ember.computed
。基本上,您可以在代码中的任何位置声明函数。现在考虑一下,您可能希望将助手添加到应用程序名称空间中,而不是将其添加到Ember
。但这只是个人偏好的问题。您可以将计算属性定义添加到Ember.computed
,请参阅
:
Ember.computed.finishBy=function(){
返回Ember.computed('parentView.content.finishBy',函数(键){
var finishBy=Ember.getPath(这是“parentView.content.finishBy”);
return finishBy==='now';
}).cacheable();
};
然后您可以这样使用它:
App.obj=Ember.Object.create({
父视图:{
内容:{
finishBy:“现在”
}
},
finishProp:Ember.computed.finishBy()
});
请参阅中的更多示例
需要明确的是:您不必将自定义计算属性添加到
Ember.computed
。基本上,您可以在代码中的任何位置声明函数。现在考虑一下,您可能希望将助手添加到应用程序名称空间中,而不是将其添加到Ember
。但这只是个人偏好的问题。Ember.DateTime对transform有以下引用:Ember.Binding.DateTime=function(format){return this.transform(function(value,Binding){return value?value.toFormattedString(format):null;};};您认为这也应该是一个计算属性吗?Ember.DateTime对transform有以下引用:Ember.Binding.DateTime=function(format){return this.transform(function(value,Binding){return value?value.toFormattedString(format):null;};};你认为这也应该是一个计算属性吗?