对于一个特定的应用程序,我已经定义了几个状态,但我特别遇到两个问题。
这是他们的样子:
$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'之外,我该如何解决此问题?
答案 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