我有这个路线部分/articles/
。我想在这里创建子路由,例如/
和/list/
。这就是我的尝试:
articles: Ember.Route.extend({
route: '/admin/articles',
index: Ember.Route.extend({
route: '/',
connectOutlets: function (router, context) {
"use strict";
router.get('applicationController').connectOutlet('toolbar', 'articlesToolbar');
router.get('applicationController').connectOutlet('main', 'articles');
}
}),
list: Ember.Route.extend({
route: '/list/',
connectOutlets: function (router, context) {
"use strict";
router.get('applicationController').connectOutlet('toolbar', 'articlesToolbar');
router.get('applicationController').connectOutlet('main', 'articles');
}
}),
doLogout: function(router, context) {
"use strict";
router.transitionTo('login', context);
}
}),
我必须做错事,因为它没有过渡到文章路线。这是我的路由日志:
STATEMANAGER: Sending event 'doSidebar' to state root.
STATEMANAGER: Entering null
STATEMANAGER: Entering root
STATEMANAGER: Entering root.articles
STATEMANAGER: Sending event 'doSidebar' to state root.
STATEMANAGER: Entering null
STATEMANAGER: Entering root
STATEMANAGER: Entering root.media
但是articles
网址没有注册到历史记录中 - 如果我点击回来,我会转到之前的状态,即articles
之前的状态。
我做错了什么?
答案 0 :(得分:4)
您无法路由到非叶状态,因此无法转换为“文章”
将initialState: 'index'
添加到您的文章路线或更改您的代码以转换为'articles.index'
articles: Ember.Route.extend({
route: '/admin/articles',
initialState: 'index',
index: Ember.Route.extend({
//
答案 1 :(得分:0)
您没有为/articles
定义路线。您需要将route: '/admin/articles'
更改为route: '/articles'
。