我想渲染模板' location'在模板的边栏内,允许'。 我的代码是emberjs.com渲染模板示例中显示的代码的副本,但是' location'模板要么根本没有加载,要么只加载'位置'模板重复但不在'许可'中呈现原始html。模板。因此显示了location.hbs,但不在其分配给的侧栏内。
这里有一些代码:D
<!-- Right Sidebar (a small piece of the 'permit' template) START -->
<div id="sidebar-wrapper" class="super-super-float-right-col">
<div id="sidebar-wrapper" class="super-float-right-col">
<div id="sidebar-wrapper" class="float-right-col">
{{outlet location}}
</div>
</div>
</div>
<!-- Right Sidebar END -->
VpcYeoman.PermitRoute = Ember.Route.extend({
renderTemplate: function() {
this.render('location');
}
});
router.js
VpcYeoman.Router.map(function () {
...
this.resource('permit', { path: '/permit/:permit_id' });
...
});
http://emberjs.com/guides/routing/rendering-a-template/再一次模糊不清,帮助不大。
emberjs社区聚集!
答案 0 :(得分:3)
您已经创建了一个命名插座,但没有告诉它渲染到该指定插座。您正在使用的代码是使用location
模板而不是默认模板(permit
)。你会在下面的行中做点什么
this.render('location', { // the template to render
into: 'permit', // the route to render into
outlet: 'location', // the name of the outlet in the route's template
//controller: 'blogPost' // the controller to use for the template
});
答案 1 :(得分:0)
感谢主人的帮助!
与解决方案相比,http://emberjs.com/guides/routing/rendering-a-template/相当误导。
PermitRoute中写的内容必须与.hbs文件中的内容相同,并添加冒号。
renderTemplate: function() {
this.render({ render:'location'});
}
所以HTML中的内容不会是{{outlet location}},正如他们的网站声称的那样,只会呈现“位置”而不是“允许”,但{{render'location'}}会呈现模板中的模板。