微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angularjs – ui-router中嵌套状态的URL路由

所以我使用UI-Router来构建我的AngularJS应用程序.但是我很困惑URL路由在嵌套状态的情况下如何工作主要是由于UI-Router的wiki中提供的冲突想法(根据我的理解).

一个想法

idea 1


因此,下面可能使用抽象状态

idea 1

第二个想法

idea 2

正如文档(第一个想法)中给出的那样,只有在’abstract’的情况下,父状态的url才会被添加到子状态的url:在父状态上定义的true属性.

然而,文档(第二个想法)也提到了上述是如何功能.

对于同一个概念,上述两个想法不是冲突的吗?还是我完全误解了他们?

解决方法

那么,文档声明是正确的.也许对某人不清楚 – 但是正确的.它简单地说:

1)没有url的继承:“..url …”设置.这意味着,子状态不会将url设置为与父级相同的值.两个值都是独立的.

2)存在隐式url连接.子状态URL(在地址栏中,而不是设置)是从其所有祖先URL构建的.

所以,文档是正确的.这场example is just for比赛……它展示了我们所知道的.孩子有不同的网址设置然后父母.地址栏中的子状态URL是从其URL设置构建的 – 以父(ur)url为前缀

// NON abstract
  .state('parent1',{
      abstract: false,url: "/parent1",templateUrl: 'tpl.html',})
  .state('parent1.child1',{ 
      url: "/child1",})
// abstract
  .state('parent2',{
      abstract: true,url: "/parent2",})
  .state('parent2.child2',{ 
      url: "/child2",})

url in href:

non abstract
<a href="#/parent1">
<a href="#/parent1/child1">
abstract
<a href="#/parent2"> - cannot navigate there - is abstract
<a href="#/parent2/child2">

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐