在ng-route中添加三元运算符否则条件

时间:2016-05-05 23:30:18

标签: angularjs ngroute angularjs-ng-route

我想在ng-route中添加一个三元条件。请在下面找到:

vkEndCommandBuffer()

但不幸的是,如果我在网址中输入内容,那么它总是会转到'/ air'。

上面的代码有问题吗?

2 个答案:

答案 0 :(得分:1)

您的表达式的设置方式始终为'/air/',无论$window.location.pathname是什么。

我认为您可能打算这样做:

$window.location.pathname === '/flight/' || $window.location.pathname === '/air/' ? '/air' : '/hotel'

答案 1 :(得分:0)

问题是,表达式只被评估一次。

使redirectTo成为一个函数,每次都调用它...

redirectTo: function(routeParams, currentPath) {
    console.log('Otherwise rule matched for path', currentPath);
    return /^\/(flight|air)\/?$/.test(currentPath) ? '/air' : '/hotel';
}