ember-bootstrap:Navbar组件重复12次

时间:2017-08-20 17:47:05

标签: ember.js ember-bootstrap

我在简单的Ember测试应用中使用ember-bootstrap的Navbar示例代码:

{{#bs-navbar as |navbar|}}
  <div class="navbar-header">
    {{navbar.toggle}}
    <a class="navbar-brand" href="#">Brand</a>
  </div>
  {{#navbar.content}}
    {{#navbar.nav as |nav|}}
      {{#nav.item}}
        {{#nav.link-to "home"}}Home{{/nav.link-to}}
      {{/nav.item}}
      {{#nav.item}}
        {{#nav.link-to "navbars"}}Navbars{{/nav.link-to}}
      {{/nav.item}}
    {{/navbar.nav}}
  {{/navbar.content}}
{{/bs-navbar}}

但是我的结果很奇怪;导航栏在我的页面中显示12次。对于它的价值,切换按钮也没有做任何事情 - 但这可能与导航栏出现12次的原因有关。请参阅以下屏幕截图:

Screenshot from simple test page

以下是我设置此项目的步骤:

  1. ember new bootstrap-test
  2. 内部/bootstrap-test
    1. ember install ember-bootstrap
    2. ember g ember-bootstrap --bootstrap-version=4
  3. 以下是我的ember-cli-build.js文件的内容:

    /* eslint-env node */
    'use strict';
    
    const EmberApp = require('ember-cli/lib/broccoli/ember-app');
    
    module.exports = function(defaults) {
      let app = new EmberApp(defaults, {
        'ember-bootstrap': {
          'bootstrapVersion': 4,
          'importBootstrapFont': false,
          'importBootstrapCSS': false
        }
      });
    
      // Use `app.import` to add additional libraries to the generated
      // output files.
      //
      // If you need to use different assets in different
      // environments, specify an object as the first parameter. That
      // object's keys should be the environment name and the values
      // should be the asset to use in that environment.
      //
      // If the library that you are including contains AMD or ES6
      // modules that you would like to import into your application
      // please specify an object with the list of modules as keys
      // along with the exports of each module as its value.
    
      return app.toTree();
    };
    

    最后,我正在使用ember-cli版本2.14.2。任何帮助解决这个问题将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

由于didRenderdidInsertElement挂钩中的属性更新,可能是由于重新呈现造成的。如果是这样,那么你肯定会在控制台中出现断言错误。

如果控制台中报告的错误数量更多,我总是会查找第一个错误。这对我的发展很有帮助。