如果它不存在,则捕获角度通配符路由

时间:2016-08-02 23:49:28

标签: javascript angularjs

在我的角度项目中,我正在解析来自通配符的大部分路线

function getTemplateUrl (route) {
  return '/views/' + route.page + '.html';
}
.when('/:page', { templateUrl : getTemplateUrl })
.when('/:page/:edit', { templateUrl : getTemplateUrl })
.otherwise({redirectTo: '/dashboard'});

唯一的问题是,当路由不存在时,它仍然会尝试加载页面,而不是otherwise函数并反复加载页面,从而创建一个无限循环。

有什么方法可以检查路线是否存在?

1 个答案:

答案 0 :(得分:0)

如果要将所有其他网页重定向到dashboard,则应在otherwise

之前指定信息中心路线
function getTemplateUrl (route) {
  return '/views/' + route.page + '.html';
}
.when('/:page', { templateUrl : getTemplateUrl })
.when('/:page/:edit', { templateUrl : getTemplateUrl })
.when('/dashboard', { templateUrl : getTemplateUrl })
//add dashboard route before otherwise
.otherwise({redirectTo: '/dashboard'});