Ember.js bindAttr反向布尔

Ember.js bindAttr反向布尔,ember.js,handlebars.js,Ember.js,Handlebars.js,在我看来,我有一个按钮,我想被禁用时,该模型的数据不是脏的 当我输出时:Save当数据不脏时启用,当数据脏时禁用 我想扭转这种情况,所以我尝试了这个:保存,但现在根本不检查脏度。如何在bindAttr助手中反转布尔值 这是我的密码: 控制器 App.SiteController = Em.ObjectController.extend({ isNotDirty: function() { return !this.get('isDirty'); }.propert

在我看来,我有一个按钮,我想被禁用时,该模型的数据不是脏的

当我输出时:
Save
当数据不脏时启用,当数据脏时禁用

我想扭转这种情况,所以我尝试了这个:
保存
,但现在根本不检查脏度。如何在bindAttr助手中反转布尔值

这是我的密码:

控制器

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}}
{{#with controllers.site}
{{isDirty}}
{{isNotDirty}}
名称
{{view Ember.TextField valueBinding=“name”}
拯救
{{/与}}

我输出了
isDirty
一个
isNotDirty
属性,以便观察它们的变化。但是当我更改文本字段的值时,只有
isDirty
属性更改,

可以在余烬的中找到解决方案。有一个所有可用速记计算助手的列表

对于这种情况,我使用了
Ember.computed.not

App.SiteController = Em.ObjectController.extend({
  isNotDirty: Ember.computed.not('isDirty')
});

您可以创建一个计算属性来反转该属性。你可以做一些像
。。。isNotDirty:function(){return!this.get('content.isDirty');}.property('content'),…
在**item controller**(
ObjectController
)中,并绑定到该属性:
Save
尝试使用.property('content.isDirty'),它现在应该可以工作了。这可以工作,但当我删除
{isNotDirty}
它不再工作:| isNotDirty:Ember.computed.not('content.isDirty')其他方便的快捷方式有.none、.empty、.bool和.alias