Wil*_*Wit 6 handlebars.js ember.js
在我看来,我有一个按钮,当模型的数据不脏时我想要禁用它.
当我输出时:<button {{ action "update" }} {{bindAttr disabled="isDirty"}}>Save</button>它在数据不脏时启用,在数据脏时禁用.
我想扭转这一点,所以我尝试了这个: <button {{ action "update" }} {{bindAttr disabled="!isDirty"}}>Save</button>但现在根本不检查脏点.如何在bindAttr助手中反转布尔值?
这是我的代码:
调节器
App.SiteController = Em.ObjectController.extend({
isNotDirty: function() {
return !this.get('isDirty');
}.property('content')
});
App.SiteEditController = Em.ObjectController.extend({
needs : [ 'site' ]
});
Run Code Online (Sandbox Code Playgroud)
模板
{{#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}}
Run Code Online (Sandbox Code Playgroud)
我输出了isDirty一个isNotDirty属性,所以我可以看到它们改变.但是isDirty当我更改文本字段的值时,只有属性会发生变化,
Wil*_*Wit 11
该解决方案可以在Ember 的API-docs中找到.有一个所有可用的速记计算助手的列表.
我用Ember.computed.not这个案子:
App.SiteController = Em.ObjectController.extend({
isNotDirty: Ember.computed.not('isDirty')
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3169 次 |
| 最近记录: |