私の見解では、モデルのデータが汚れていないときに無効にしたいボタンがあります。bindAttr reverse boolean
出力時:<button {{ action "update" }} {{bindAttr disabled="isDirty"}}>Save</button>
データが汚れていない場合は有効になり、データが汚れている場合は無効になります。
私はこのことを逆にしたいので、これを試しました。<button {{ action "update" }} {{bindAttr disabled="!isDirty"}}>Save</button>
しかし、今は汚れをチェックしていません。 bindAttrヘルパー内のbooleanをどのように逆にするのですか?
コントローラ
App.SiteController = Em.ObjectController.extend({
isNotDirty: function() {
return !this.get('isDirty');
}.property('content')
});
App.SiteEditController = Em.ObjectController.extend({
needs : [ 'site' ]
});
テンプレート
{{#with controllers.site}}
<div>{{ isDirty }}</div>
<div>{{ isNotDirty }}</div>
<div class="control-group">
<label class="control-label" for="name">Name</label>
<div class="controls">
{{view Ember.TextField valueBinding="name"}}
</div>
</div>
<div class="form-actions">
<button {{bindAttr disabled="isNotDirty"}} class="btn btn-primary">Save</button>
</div>
{{/with}}
私は彼らが変更を見ることができるように、私はisDirty
isNotDirty
プロパティを出力:
は、ここに私のコードです。テキストフィールドの値を変更すると、isDirty
プロパティのみが変更されます。
をあなたはそれを反転計算されたプロパティを作成することができます。 '... isNotDirty:function(){return!this.get( 'content.isDirty');のようなことができます。 ** 'itemController **( 'ObjectController')の中で.property(' content ')、...'を呼び出してそのプロパティにバインドしてください: '{button {{action" update "}} {{bindAttr disabled =" "0}">}}> Save ' – MilkyWayJoe
.property( 'content.isDirty')を使用してください。 これで動作します。 – mavilein
これは動作しますが、 '