Javascript 在Backbone.js中有条件地执行路由

Javascript 在Backbone.js中有条件地执行路由,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,为了在backbone.js中实现ACL,我正在寻找一种方法,根据某些函数的结果有条件地触发路由。我应该使用execute还是route 功能isRouteAuthorized(路由、名称){ //根据某些条件返回true或false } 主干路由器扩展({ 路由:{“”:“用户”,“资源”:“资源”,}, 路由:函数(路由、名称、回调){ 如果(isRouteAuthorized(路线、名称)){ //沿途 //如何做到这一点?? }否则{ //转到错误路径 //如何做到这一点?? } },

为了在backbone.js中实现ACL,我正在寻找一种方法,根据某些函数的结果有条件地触发路由。我应该使用execute还是route

功能isRouteAuthorized(路由、名称){
//根据某些条件返回true或false
}
主干路由器扩展({
路由:{“”:“用户”,“资源”:“资源”,},
路由:函数(路由、名称、回调){
如果(isRouteAuthorized(路线、名称)){
//沿途
//如何做到这一点??
}否则{
//转到错误路径
//如何做到这一点??
}
},
用户:函数(){
//显示用户视图
},
资源:职能(){
//显示资源视图
},
错误:函数(){
//显示错误视图
}

});
使用
router.navigate()
方法使用不同的路由。您需要将
{trigger:true}
作为选项传递给它,以便它也调用指定的路由器方法

Backbone.Router.extend({
路由:{“”:“用户”,“资源”:“资源”,},
执行:函数(回调、名称、参数){
如果(条件){
//沿途
callback.apply(此参数为args);
}否则{
//转到错误路径
导航('error',{trigger:true});
}
返回false;
},
用户:函数(){
//显示用户视图
},
资源:职能(){
//显示资源视图
},
错误:函数(){
//显示错误视图
}
});