【发布时间】:2019-04-01 17:08:32
【问题描述】:
我正在尝试为用户动态创建主干路由,前提是登录用户有权查看该特定路由。在我当前的实现中,我已经创建了路由并调用了相应的路由函数,并且在该函数中我将检查用户是否具有所需的权限,如果没有重新路由到默认页面。我可以根据条件自己创建路由,这样我就不必每次都检查用户是否具有适当的权限。
var Workspace = Backbone.Router.extend({
routes: {
"help": "help",
"search/:query": "search",
"search/:query/p:page": "search",
"default": "default"
},
help: function() {
if(!permission1){
router.navigate('default', true);
}
//write logic
},
search: function(query, page) {
if(!permission2){
router.navigate('default', true);
}
//write logic
},
//write logic for other routes
});
【问题讨论】:
-
如果用户有权限,你可以异步加载带有额外路由的文件
-
你能解释一下吗,我不明白答案。谢谢
-
我的意思是你可以使用 requirejs 之类的模块加载器并执行
if(permission){ require('module-with-extra-routes');};之类的操作 -
我将不得不尝试一下它是否可以工作,但目前我已经通过使用backbone.js本身的this.route()手动创建路由来实现它。跨度>
标签: backbone.js routes