基于URL路径+散列路径的Angular ui路由

时间:2014-11-17 18:03:59

标签: angularjs angular-ui-router

我尝试使用UI路由器为以下路径显示不同的模板。我正在添加完整的网址,以便您可以确切了解其意图。

基本上我希望路由器考虑实际的URL路径,但是现在没有检测到模板,状态提供者改为重定向到/

http://localhost/dashboard/#home

这就是$stateProvider

的内容
.state('dashboard.home', {
   url: '/home',
   path: 'dashboard',
   templateUrl: '/partials/dashboard/home'
})

1 个答案:

答案 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