`angular-ui-router`如何确定插入状态视图的位置?

时间:2014-02-23 07:45:20

标签: javascript angularjs angular-ui-router

我按照angular-ui-router的{​​{3}}上的示例进行了操作。该示例工作正常,但我很困惑ui-router如何确定插入部分状态视图的位置。在the github page页面上,它表示

  

激活状态后,将自动插入其模板   进入其父状态模板的ui-view。如果它是顶级的   状态 - “联系人”是因为它没有父状态 - 然后是它   父模板是index.html。

但是,在我所遵循的示例中,我找不到任何指示状态之间的父子关系的信息。例如,state1.list的父级是什么?为什么呢?

非常感谢。

2 个答案:

答案 0 :(得分:3)

层次结构由点符号

确定

来自the docs, Nested States & Nested Views

  

您可以使用点语法来推断$ stateProvider的层次结构。在下面,contacts.list成为联系人的孩子。

$stateProvider
  .state('contacts', {})
  .state('contacts.list', {});

因此state1.list的父级是state1,因为ui-router使用点表示法来确定父子关系。

答案 1 :(得分:2)

引自docs

  

嵌套国家的方法

     

国家可以互相嵌套。有几种方法   嵌套状态:

     
      
  1. 使用'点符号'。例如.state('contacts.list',{})。
  2.   
  3. 使用   ui-router.stateHelper从嵌套状态树构建状态。   由@marklagendijk提供。
  4.   
  5. 将父属性与父级一起使用   名称为字符串。例如:parent:'contacts'
  6.   
  7. 使用父级   具有父对象的属性。例如父母:联系人(其中   'contacts'是一个stateObject)
  8.