【问题标题】:Ember.js new routing apiEmber.js 新路由 api
【发布时间】:2013-01-03 07:25:27
【问题描述】:

我目前正在将我的应用程序从 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>

使用旧路由器配置映射两个控制器及其各自出口的 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 将多个控制器映射到同一个 URL,处理页面的不同部分。

谢谢

【问题讨论】:

    标签: javascript ember.js url-routing ember-router


    【解决方案1】:

    按照文档[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'});
        }
    });
    

    [1] - http://emberjs.com/guides/routing/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多