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

Wil*_*Wit 2 ember.js ember-router

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

这是我使用的代码:

<div id="app">
   <nav>{{outlet "menu"}}</nav>
   <div class="content">{{outlet}}</div>
</div>
Run Code Online (Sandbox Code Playgroud)

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

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

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

Wil*_*Wit 10

我发现问题,在根级别你应该在into-function中传递-property render:

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

现在它渲染得很好.

  • 已经添加了一些解释http://emberjs.com/guides/routing/rendering-a-template/ (2认同)