0

以下に定義されているボタンがあります。

<button type="button"
  class="btn btn-primary-outline {{if shouldBeActive "active"}}"
  data-toggle="button"
  {{action "makeActive"}}>MyButton</button>

makeActiveアクションはプロパティを切り替えます。これにより、 ember がテンプレートを再レンダリングするときにshouldBeActive、ボタンのクラスが取得または失われます。.active

これはすべて素晴らしいことです...ただし、Ember が DOM を更新した後にボタンのクラスを切り替えるための bootstrap.js クリック ハンドラが起動され.active、ボタンが誤ったトグル状態に切り替えられます。

これを修正する雄弁な方法はありますか?私の唯一の考えは、私は何か愚かなことをすることができるということです...

<button type="button"
  class="btn btn-primary-outline {{if (xor shouldBeActive isFirstRender) "active"}}"
  data-toggle="button"
  {{action "makeActive"}}>MyButton</button>

...アクティブ状態を意図したものとは反対に効果的に設定し、ブートストラップで適切なものに切り替えます。

4

1 に答える 1

2

Bootstrap クリック ハンドラーは、保持している場合にのみ起動するように思われるためdata-toggle="button"、削除すると、Ember ハンドラーのみが起動するはずです。

于 2015-11-19T11:22:36.303 に答える