1

現在のルートに応じて異なる列レイアウトのサイトを作成したいと考えています。

私は基本的に、対応するレイアウトを事前に指定して、適切なレイアウト コントローラーのすべてのルートを呼び出すことでこれを実現しました。

<script type="text/x-handlebars" data-template-name="application">
    <div class="container">
        {{outlet}}
    </div>
</script>

<script type="text/x-handlebars" data-template-name="twocolumns">

  <div class="row">
    <div class="span8">
        {{outlet main}}
    </div>
    <div class="span4">
        {{outlet sidebar}}
    </div>
  </div>


</script>

<script type="text/x-handlebars" data-template-name="home">
    <h1>Home</h1>
</script>

<script type="text/x-handlebars" data-template-name="sidebar">
    <h1>Sidebar</h1>
</script>


  home: Ember.Route.extend({
    route: '/',
    connectOutlets: function(router, event) {
        router.get('applicationController').connectOutlet('twocolumns');
        router.get('twocolumnsController').connectOutlet('main', 'home');
        router.get('twocolumnsController').connectOutlet('sidebar', 'sidebar');
    }
  }),

異なるレイアウトで Route クラスを拡張するなど、より良いアプローチはありますか?

4

0 に答える 0