我尝试使用UI路由器为以下路径显示不同的模板。我正在添加完整的网址,以便您可以确切了解其意图。
基本上我希望路由器考虑实际的URL路径,但是现在没有检测到模板,状态提供者改为重定向到/
。
http://localhost/dashboard/#home
这就是$stateProvider
。
.state('dashboard.home', {
url: '/home',
path: 'dashboard',
templateUrl: '/partials/dashboard/home'
})
答案 0 :(得分:1)
我创建了plunker with example here。一般来说,我们可以像这样拥有父子:
$stateProvider
.state('dashboard', {
template: '<div ui-view=""></div>',
})
$stateProvider
.state('dashboard.home', {
url: '/home2',
path: 'dashboard',
templateUrl: '/partials/dashboard/home'
})
我们可以看到,有一个父状态&#39;仪表板&#39; (在这种情况下,没有定义网址)并且有一个子级&#39; dashboard.home&#39;,其网址为url: '/home2'
。所以去#/ home2,我们将达到这个状态
或者我们可以使用它:
$stateProvider
.state('dashboard_home', {
url: '/home',
templateUrl: '/partials/dashboard/home'
})
这是没有父母的州。这就是为什么它不能包含dashboard.
的原因,它将被评估为:&#34;找到名称为“#”的仪表板&#39;&#34;&#34;
单击此链接后,这些状态正在运行:
<a href="#/home">
<a href="#/home2">
检查here