ember.view 对象的子对象存在绑定问题。代码如下:
--从 Ember.TextField 扩展的文本框类
App.TextBox = Ember.TextField.extend({
attributeBindings:['placeholder', 'autocorrect','autocapitalize'],
value:null,
isInvalid:true,
validate:function(){
this.set('isInvalid', false);
return false;
},
focusOut:function(event){
this.validate();
}});
---使用 App.Textbox 的视图
App.ViewTextBox = Ember.View.extend({
name:"viewName",
label:"View Label",
input: App.TextBox.extend({
placeholder:function(){
return this.get('parentView').get('label');
}.property('label').cacheable()
})});
--带绑定的车把
{{#view App.ViewTextBox}}
{{label}}<br/>
{{#view input valueBinding="parentView.value"}}
<div {{bindAttr class="isInvalid"}}></div>
{{/view}}{{/view}}
问题是这样的: 1)在视图的初始渲染之后,类被正确设置,但是通过 onFocusOut 调用对 isInvalid 值的后续更改,不要更改 DOM 中的类。想法?