1

我有这条路线部分,/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

但是该articlesurl 没有注册到历史记录中——如果我点击返回,我会进入上一个状态,即之前的状态articles

我究竟做错了什么?

4

2 回答 2

4

你不能路由到非叶子状态,所以你不能转换到“文章”。
添加initialState: 'index'到您的文章路线或更改您的代码以转换为'articles.index'

articles: Ember.Route.extend({
  route: '/admin/articles',
  initialState: 'index',
  index: Ember.Route.extend({
    //
于 2012-09-11T23:58:04.260 回答
0

您没有为 定义路线/articles。您需要更改route: '/admin/articles'route: '/articles'.

于 2012-09-11T23:30:55.290 回答