ember.js statemanager用于制表符

时间:2012-04-20 19:53:04

标签: ember.js

我有3个标签导航,每个标签的内容显然不同。 我正考虑在Emberjs中使用StateManager来管理我的标签视图。

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

这是一个好主意吗?或者那里有更好的路由器?我看了

  1. SproutCore的路由
  2. 余烬-routemanager
  3. 那些比州政官更好吗?是什么原因不使用statemanager?

1 个答案:

答案 0 :(得分: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' })
    })
});​

另请查看博文Anatomy of an Ember.js App Part I Redux: Routing and Outlets