2

アプリケーションのルート レベルで追加のアウトレットをレンダリングしていたときに、この奇妙なアサーション エラーが発生しました。

これは私が使用するコードです:

<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

4

1 に答える 1

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);
    }
});

これで問題なくレンダリングされます。

于 2013-02-27T16:02:12.463 に答える