ルーティング階層が必要です。したがって、「#/user/123」および「#/user/123/albums」という URL が機能するとよいでしょう。そして、私はそれをこのようにしたい:
App.Router = Em.Router.extend({
root: Em.Route.extend({
index: Em.Route.extend({
route: '/'
}),
user: Em.Route.extend({
route: '/user/:login',
connectOutlets: function(router, context){
router.get('applicationController').connectOutlet('user', context);
},
albums: Em.Route.extend({
route: '/albums',
connectOutlets: function(router){
router.get('applicationController').connectOutlet('albums');
}
})
})
})
});
この方法ではありません:
App.Router = Em.Router.extend({
root: Em.Route.extend({
index: Em.Route.extend({
route: '/'
}),
user: Em.Route.extend({
route: '/user/:login',
connectOutlets: function(router, context){
router.get('applicationController').connectOutlet('user', context);
}
}),
albums: Em.Route.extend({
route: '/user/:login/albums',
connectOutlets: function(router){
router.get('applicationController').connectOutlet('albums');
}
})
})
});
私の最初のコード例は愚かであるが、ルーティング階層が欲しい。そんな能力あるの!?