没有任何东西进入插座

时间:2014-02-17 01:31:07

标签: ember.js

我手动渲染一些出口:

Dashboard.IndexRoute = Ember.Route.extend({
    renderTemplate : function ( ) {
        this.render('index');
        this.render('disposition-legend', {outlet : 'dispositionLegend'} );
    },
});

模板:

    <script type="text/x-handlebars" data-template-name="application">
      {{outlet}}
    </script>

    <script type="text/x-handlebars" data-template-name="index">
      <div class="container">
        {{outlet dispositionLegend}}
      </div>
    </script>

    <script type="text/x-handlebars" data-template-name="disposition-legend">
      <div class="row">
        <div class="col-lg-12 well">Legend:&nbsp;
          {{#each controller.content}}
            <span class="label" style="background-color:{{unbound color}};">{{label}}</span>
          {{/each}}
        </div>
      </div>
    </script>
Ember说这确实是出现了问题:

Rendering index with default view <Ember._MetamorphView:ember320> Object {fullName: "view:index"}
Rendering disposition-legend with <Dashboard.DispositionLegendView:ember328> Object {fullName: "view:disposition-legend"}

没有错误消息,但是视图ember320和视图ember328都不在DOM中。 DOM中存在的唯一视图是ember299,与application模板相关。

为什么会这样?

(我正在运行ember-1.4.0

1 个答案:

答案 0 :(得分:2)

IndexRoute正在尝试渲染到application模板,但您要渲染到index,因此您需要传递into: 'index'选项。

App.IndexRoute = Ember.Route.extend({
    renderTemplate : function ( ) {
        this.render('index');
        this.render('disposition-legend', {outlet : 'dispositionLegend', into: 'index'} );
    },
});