我有一个如下定义的按钮。
<button type="button"
class="btn btn-primary-outline {{if shouldBeActive "active"}}"
data-toggle="button"
{{action "makeActive"}}>MyButton</button>
makeActive
操作会切换shouldBeActive
属性,这会导致按钮在ember重新呈现模板时获得或失去.active
类。
这一切都很棒...除了在Ember更新DOM之后触发按钮的.active
类的bootstrap.js点击处理程序,导致按钮切换到错误的切换状态
有没有雄辩的方法来解决这个问题?我唯一的想法是,我可以做一些愚蠢的事情......
<button type="button"
class="btn btn-primary-outline {{if (xor shouldBeActive isFirstRender) "active"}}"
data-toggle="button"
{{action "makeActive"}}>MyButton</button>
...有效地将活动状态设置为与预期相反的状态,并让bootstrap将其切换为适当的状态。
答案 0 :(得分:2)
似乎Bootstrap点击处理程序只有在你保留data-toggle="button"
时才会触发,所以删除它会导致Ember处理程序只触发。