断言失败:指定了插座(菜单),但此视图将在根级别呈现

时间:2013-02-27 16:02:12

标签: ember.js ember-router

当我在应用程序的根级别渲染一个额外的插座时,我有这个奇怪的断言错误。

这是我使用的代码:

<div id="app">
   <nav>{{outlet "menu"}}</nav>
   <div class="content">{{outlet}}</div>
</div>

我有一个名为menu的模板。这是我的App.ApplicationRout

app.ApplicationRoute = Ember.Route.extend({
    renderTemplate: function() {
        this.render();
        this.render("menu", {
            outlet: "menu"
        });
    }
});

但它丢了一个错误:assertion failed: An outlet (menu) was specified but this view will render at the root level

1 个答案:

答案 0 :(得分:10)

我发现问题,在根级别你应该通过into中的render - 属性 - 函数:

app.ApplicationRoute = Ember.Route.extend({
    renderTemplate: function() {
        this.render("menu", {
            outlet: "menu",
            into: 'application'
        });
        return this._super.apply(this,arguments);
    }
});

现在渲染得很好。