:更新
谁能帮助我发现了如何基于用户创建的路线和subroute是有可能创建一个窗口小部件,将做的工作,如果因此如何
这是我的菜单的样子(注意:所有菜单项一起让我们称它为master):
-Home
-shop
-men
-women
-food
-dog
-human
-cart
-settings
-user
-images
-themes
假设我有以下userGroup:
-Admin
-visitors
-vip
-costumers
-co-workers
我想做的事情就像
if(user == Admin){
destroy the current menu then make a copy of master **master** remove subroute women and subroute dog then push
}else if(user == visitor){
...
}
还是有更好的方法来做到这一点,我应该在哪里定义它?
首先,您可能要考虑将您的项目升级到Durandal 2.0,因为它消除了对sammy.js的依赖,转而使用了自定义路由器,后者效果更好(Durandal 1.0现在已经过时了)。这是有关升级的页面:http : //durandaljs.com/documentation/Conversion-Guide/
这是新路由器上的文档:http : //durandaljs.com/documentation/Using-The-Router/
至于基于用户的路由选择,因为router.map只需要一个路由数组,所以您可以有条件地构建该数组并将其传递给router.map
var routes = [ { route: '', moduleId: 'hello/index', title: 'Hello World', nav: true },
{ route: 'men', moduleId: 'men/index', title: 'Men', nav: true }]
if(user == Admin){
routes.push({ route: 'admin', moduleId: 'admin/index', title: 'Admin', nav: true }
}else if(user == visitor){
routes.push({ route: 'women', moduleId: 'women/index', title: 'women', nav: true }
}
return router.map(routes)
.buildNavigationModel()
.mapUnknownRoutes('hello/index', 'not-found')
.activate();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句