gpt4 book ai didi

ember.js - bindAttr反向 bool 值

转载 作者:行者123 更新时间:2023-12-04 13:40:59 25 4
gpt4 key购买 nike

在我看来,我有一个按钮,当模型的数据不脏时我想禁用它。

当我输出:<button {{ action "update" }} {{bindAttr disabled="isDirty"}}>Save</button>时,在数据不脏时将其启用,而在数据脏时将其禁用。

我想扭转这种情况,所以我尝试了这个:<button {{ action "update" }} {{bindAttr disabled="!isDirty"}}>Save</button>,但是现在根本不检查脏度。如何在bindAttr助手中反转 bool 值?

这是我的代码:

Controller

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属性会更改,

最佳答案

该解决方案可以在Ember的API-docs中找到。列出了所有可用的速记计算助手。

在这种情况下,我使用Ember.computed.not:

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

关于ember.js - bindAttr反向 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15275105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com