AngularJS,UI路由器 - 导航到“foo / bar”转到“foo”

时间:2015-08-21 19:01:15

标签: javascript angularjs angular-ui-router

对于一个特定的应用程序,我已经定义了几个状态,但我特别遇到两个问题。

这是他们的样子:

 $stateProvider.state('foo', {
        url: '/foo',
        views: {
            "main": {
                controller: 'fooController',
                controllerAs: 'ctrl',
                templateUrl: 'a.html'
            },
        }           
    }).state('bar', {
        url: '/foo/bar/:id',
        views: {
            "main": {
                controller: 'barController',
                controllerAs: 'ctrl',
                templateUrl: 'b.html'
            },
        }

    });

问题:每当我在浏览器中直接导航到/ foo / bar / 123时,路由都会起作用。但是,如果我导航到/ foo,然后导航到/ foo / bar / 123,则状态会暂时加载,然后导航回/ foo。

问题:除了将'/ foo / bar'更改为'/ bar'之外,我该如何解决此问题?

1 个答案:

答案 0 :(得分:1)

我相信你要找的只是对你的配置的一个改变。

/foo/bar/:id

您的网址仍应为foo,但是ui-router会将它们连在一起,因为您说bar/foo的父路由。 它现在可能会感到困惑,因为它看到两条路线使用Set conn = CreateObject("ADODB.Connection") conn.CommandTimeout = 3600 ' 1 hour conn.Open "DSN=MYDSN" => Error occurs here 并且不知道要使用哪条路线,所以它默认为第一条路线。

参考: https://github.com/angular-ui/ui-router/wiki/URL-Routing