0

我有一个如下定义的按钮。

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

makeActive操作切换属性,当 ember 重新渲染模板时shouldBeActive,这会导致按钮获得或失去类。.active

这一切都很好......除了.active在 Ember 更新 DOM 之后触发按钮类的 bootstrap.js 点击处理程序,导致按钮切换到不正确的切换状态。

有没有一种雄辩的方法来解决这个问题?我唯一的想法是我可以做一些愚蠢的事情,比如......

<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 回答