角度路线相互混淆

问题描述

你好,我在角度有两条单独的路线,像这样:

    .state('reports1',{
    url: '/reports/user/:userId',controller: 'Mycontroller',templateUrl: '...html',data: {
       ...
    },})
.state('reports2',{
    url: '/reports/:userId',data: {
        ...
    },})

问题是当我键入http://..reports/user时,它应该导致no page found,它转到http://..reports/:userId,因为它将user作为ID参数。 / p>

有没有办法区分这两个网址?

解决方法

查看此主题

angularjs ui router regex

解决方案可能是使用正则表达式过滤合适的参数(将“ user”排除为:userId参数值)。在您的情况下,您需要其他正则表达式