0

ember.view オブジェクトの子オブジェクトにバインドの問題があります。コードは次のとおりです。

-- Ember.TextField から拡張された Textbox クラス

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 内のクラスを変更しません。アイデア?

4

1 に答える 1

1

viewEmber.TextField でブロック ヘルパーを使用することはできません。

于 2012-06-02T23:32:21.090 に答える