问题
I have this weird assertion error when I was rendering an extra outlet on the root level of my application.
This is the code I use:
<div id="app">
<nav>{{outlet "menu"}}</nav>
<div class="content">{{outlet}}</div>
</div>
I have a template called menu
. This is my App.ApplicationRout
app.ApplicationRoute = Ember.Route.extend({
renderTemplate: function() {
this.render();
this.render("menu", {
outlet: "menu"
});
}
});
But it is throwing an error: assertion failed: An outlet (menu) was specified but this view will render at the root level
回答1:
I found the problem, at root level you should pass the into
-property in the render
-function:
app.ApplicationRoute = Ember.Route.extend({
renderTemplate: function() {
this.render("menu", {
outlet: "menu",
into: 'application'
});
return this._super.apply(this,arguments);
}
});
Now it renders just fine.
来源:https://stackoverflow.com/questions/15116634/assertion-failed-an-outlet-menu-was-specified-but-this-view-will-render-at-th