<div ui-view =“”> </div>和<ui-view> </ui-view>之间的区别?

时间:2016-04-05 01:19:34

标签: html angularjs angular-ui-router

我似乎无法找到两者之间的任何重大差异,除了能够在视图中使用视图时命名视图。是否有一个人优先于另一个?

1 个答案:

答案 0 :(得分:5)

首先,ui-view是一个AngularJS指令。一般来说,指令可以声明为元素属性元素(即类似于HTML标记),或者这三者的任意组合取决于指令本身。

在大多数情况下,所有三种声明都不会影响指令的功能

因此在实际意义上,<div ui-view></div><div><ui-view></ui-view></div>之间的主要区别归结为:

  1. HTML DOM树中的位置
    • <div ui-view></div>是DOM树中的单个<div>元素
    • <div><ui-view></ui-view></div>是嵌套在<ui-view>
    • 中的<div>元素
  2. AngularJS范围层次结构
  3. 前者可能影响非AngularJS的东西,如CSS选择器,jQuery元素选择等。

    虽然AngularJS Scope层次结构可能会影响范围变量的继承方式,以及如果有两个具有相同优先级的指令,指令如何相互优先排序。

    然而,在ui-view的情况下,范围方面似乎并不重要。