2

3 つのタブ ナビゲーションがあり、各タブの内容は明らかに異なります。Emberjs で StateManager を使用してタブ ビューを管理することを考えています。

http://docs.emberjs.com/#doc=Ember.StateManager&src=false

それは良い考えですか?それとももっと良いルーターがありますか?私は見てきた

  1. sproutcore-ルーティング
  2. ember-routemanager

それらはstatemanagerよりも優れていますか?statemanager を使用しない理由は何ですか?

4

1 に答える 1

5

この行に沿って何かを使用できます。 http://jsfiddle.net/pangratz666/e3wM7/を参照してください。

ハンドルバー:

<script type="text/x-handlebars" >
    <ul>
        <li {{action "showFirst" target="App.stateManager"}} >First tab</li>
        <li {{action "showSecond" target="App.stateManager"}} >Second tab</li>
    </ul>
    <div class="tab-content" ></div>
</script>

<script type="text/x-handlebars" data-template-name="first" >
    first
</script>
<script type="text/x-handlebars" data-template-name="second" >
    second
</script>​

JavaScript :

App.stateManager = Ember.StateManager.create({
    rootElement: '.tab-content',
    initialState: 'firstTab',

    showFirst: function(manager) {
        manager.goToState('firstTab');
    },
    showSecond: function(manager) {
        manager.goToState('secondTab');
    },

    firstTab: Ember.ViewState.create({
        view: Ember.View.extend({ templateName: 'first' })
    }),
    secondTab: Ember.ViewState.create({
        view: Ember.View.extend({ templateName: 'second' })
    })
});​

Ember.js アプリの解剖学パート I Redux: Routing and Outletsのブログ投稿もご覧ください。

于 2012-04-21T13:47:43.117 に答える