如何正确使用Ember.js嵌套路由?
我有这个路线部分,如何正确使用Ember.js嵌套路由?,ember.js,ember-old-router,Ember.js,Ember Old Router,我有这个路线部分,/articles/。我想在这里创建子例程,比如/和/list/。我就是这样尝试的: articles: Ember.Route.extend({ route: '/admin/articles', index: Ember.Route.extend({ route: '/', connectOutlets: function (router, context) { "use strict";
/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
url没有注册到历史记录中——如果我单击后退,我会进入上一个状态,即articles
之前的状态
我做错了什么?您没有为
/articles
定义路线。您需要将路由:'/admin/articles'
更改为路由:'/articles'
您没有为/articles
定义路由。您需要将路由:'/admin/articles'
更改为路由:'/articles'
您无法路由到非叶状态,因此无法转换到“articles”。将
initialState:“index”
添加到文章路线,或将代码更改为转换为“articles.index”
articles: Ember.Route.extend({
route: '/admin/articles',
initialState: 'index',
index: Ember.Route.extend({
//
您无法路由到非叶状态,因此无法转换到“文章”。
将
initialState:“index”
添加到文章路线,或将代码更改为转换为“articles.index”
articles: Ember.Route.extend({
route: '/admin/articles',
initialState: 'index',
index: Ember.Route.extend({
//
请说明它是。我知道叶规则,但不知道初始状态。谢谢!请说明它是。我知道叶规则,但不知道初始状态。谢谢!