Ember.js 将负isDirty连接到禁用的类

Ember.js 将负isDirty连接到禁用的类,ember.js,refactoring,Ember.js,Refactoring,有没有办法重构以下代码以使其更干净,或者{{{if}}是解决这个问题的最干净的方法 {{#if isDirty}} <button {{action 'save' this}} class="btn">Save</button> <button {{action 'discard' this}} class="btn">Discard</button> {{else}} <button class="btn disabled"&g

有没有办法重构以下代码以使其更干净,或者
{{{if}}
是解决这个问题的最干净的方法

{{#if isDirty}}
  <button {{action 'save' this}} class="btn">Save</button>
  <button {{action 'discard' this}} class="btn">Discard</button>
{{else}}
  <button class="btn disabled">Save</button>
  <button class="btn disabled">Discard</button>
{{/if}}
{{{#if isDirty}
拯救
丢弃
{{else}
拯救
丢弃
{{/if}

我更喜欢用CSS解决这个问题:

<button {{bindAttr class=":btn content.isDirty:enabled:disabled"}}>Save</button>
保存
您可以使用CSS在禁用时防止单击(如果您的目标浏览器支持)。或者让点击通过,如果content.isDirty,只调用commit/rollback

另一个选项是绑定按钮的disabled属性:

<button {{bindAttr disabled="content.isDirty:enabled:disabled"}}>Save</button>
保存

漂亮!我也喜欢CSS。非常干净的溶液。非常感谢。如果您不需要启用
可以将其省略
保存