我有 3 个标签导航,每个标签的内容明显不同。我正在考虑在 Emberjs 中使用 StateManager 来管理我的选项卡视图。
http://docs.emberjs.com/#doc=Ember.StateManager&src=false
这是一个好主意吗?还是那里有更好的路由器?我看过
- 新芽核心路由
- ember-routemanager
那些比国家经理好吗?不使用 statemanager 的原因是什么?
我有 3 个标签导航,每个标签的内容明显不同。我正在考虑在 Emberjs 中使用 StateManager 来管理我的选项卡视图。
http://docs.emberjs.com/#doc=Ember.StateManager&src=false
这是一个好主意吗?还是那里有更好的路由器?我看过
那些比国家经理好吗?不使用 statemanager 的原因是什么?
您可以使用以下内容,请参阅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。