4

現在、アプリケーションを ember1.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');

            }
        })
    })

このコードを新しい API に移行する方法、または Ember の設計が不適切である場合、これをコーディングした方法を変更する方法を教えてください。

私の質問を一般化できると思います。新しいルーティング API を使用して、ページのさまざまな部分を処理しながら複数のコントローラーを同じ URL にマップするにはどうすればよいでしょうか。

どうも

4

1 に答える 1

2

ドキュメント[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/

于 2013-01-19T20:13:55.777 に答える