我目前正在从 ember 迁移我的应用程序 1.0.0-pre2
至 1.0.0-pre4
我在使用新的路由 API 时遇到了问题。
文档中的新指南似乎没有涵盖我的用例。
我的应用程序的其余部分旁边总是有一个聊天 div,我的应用程序模板看起来像这样:
<script type="text/x-handlebars" data-template-name="application">
<div id="main-content">
<aside>
{{outlet chat}}
</aside>
{{outlet main}}
</div>
</script>
使用旧路由器 conf 在两个 Controller 及其各自的 socket 上映射 URL。
Router : Ember.Router.extend({
root: Ember.Route.extend({
index: Ember.Route.extend({
route: '/',
connectOutlets: function(router, event) {
router.get('applicationController').connectOutlet('main', 'main');
router.get('applicationController').connectOutlet('chat', 'chat');
}
})
})
如果这对 Ember 来说是一个糟糕的设计,我该如何将此代码迁移到新的 API 或更改我的编码方式。
我想我可以将我的问题概括为,我们如何使用新的路由 API 将多个 Controller 映射到同一 URL,以处理页面的不同部分。
谢谢
最佳答案
按照文档 [1] 中的示例进行操作。
App.Router.map(function() {
this.resource('index', {path: '/'});
});
App.IndexRoute = Ember.Route.extend({
renderTemplate: function(controller, model) {
this.render('main', {outlet: 'main'});
this.render('chat', {outlet: 'chat'});
}
});
关于javascript - Ember.js 新的路由 api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14418337/