2

次のコードをリファクタリングしてよりクリーンにする方法はあり{{#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}}
4

1 に答える 1

2

私はCSSでこれを解決することを好みます:

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

CSS を使用して、無効にしたときにクリックを防ぐことができます (ターゲット ブラウザーがサポートしている場合)。または、クリックを通過させて、content.isDirty の場合にのみ commit/rollback を呼び出します。

もう 1 つのオプションは、ボタンの無効なプロパティをバインドすることです。

<button {{bindAttr disabled="content.isDirty:enabled:disabled"}}>Save</button>
于 2013-05-07T18:11:45.720 に答える