在EmberJs中切换路径时,Bootstrap组件(模型,选项卡,下拉列表)不起作用

时间:2016-06-24 08:40:45

标签: ember.js twitter-bootstrap-3

在EmberJs中切换路线时,Bootstrap组件(型号,标签,下拉列表)不起作用

我的application.hbs中有两个{{outlet}},一个用于登录,另一个用于所有其他页面。

{{#if isLoggedIn}}
    <div class="main">{{outlet}}<div>
{{else}}
    <div class="login">{{outlet}}</div>
{{/if}} 

最初引导程序组件工作正常,如果我转换到登录并返回其他路由,则其他路由中的组件无法正常工作。

以前工作的标签不可点击。 下拉菜单无法点击。 点击按钮时,模型没有出现。

如果我在两条路线上使用相同的插座,那么它可以正常工作。

1 个答案:

答案 0 :(得分:1)

在转换更改时,ember会彻底修改DOM。这意味着在DOM结构的每个更改中,您都必须重新初始化引导程序组件。

要解决此问题,您有两种选择。

  1. 实现您自己的组件并在didInsertElement hook上调用特定的引导程序初始化方法。
  2. 使用像ember-bootstrap这样的现有ember插件,它将所有引导组件作为ember组件提供。
  3. 我会坚持2。