繁体   English   中英

Ember.js动态路由

[英]Ember.js dynamic routing

我正在尝试使用Ember.js构建具有路由,角色,登录,注销和所有内容的应用程序。 我现在的问题是我无法弄清楚如何处理动态路由。

我需要的是能够使用一条路线进行侧边栏导航。

当用户登录时,他/她将进入仪表板视图。 假设他们点击左侧的发布菜单,那么他们将看到发布视图。 我想以相同的方式处理这些问题,例如/:module/

module: Ember.Route.extend({
   route: '/admin/:module/',
   doLogout: Ember.Route.transitionTo('login'),
   connectOutlets: function (router) {
      "use strict";
      router.get('applicationController').connectOutlet('sidebar', 'sidebar');
      router.get('applicationController').connectOutlet('toolbar', 'toolbar');
   }
})

这是我需要帮助的地方。 动态路由如何精确工作? 到目前为止,我可能唯一发现的是@wycats在此处路由的要点,但我无法从那里弄清楚: https ://gist.github.com/2728699

这是我使用的动态路由的一部分:

myroute : Em.Route.extend({
    route : '/myroute/:tid', //tid is same as index of Object
    deserialize: function(router, params) {
        return App.router.getPath('myController.content').objectAt(parseInt(params.tid));
                    //you can use some other parameters than tid and find the coresponding element
        },
    serialize: function(router, context) {
        return {
        tid: App.router.getPath('myController.content').indexOf(context)
        }
        },
    connectOutlets: function(router, context) {
        var currentController = router.get('currentController');
        currentController.connectOutlet({
            name : 'controllername',
            outletName : 'outletname',
            context: context
            }); 
        },
    index: Em.Route.extend({
        route : '/'
        })
    }),

这是Gist解释Connect Outlets chack当前源代码的最新更新https://gist.github.com/3606155

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM