除了在视图中使用视图时能够命名外,我似乎找不到两者之间的任何主要区别。有没有一个比另一个更受欢迎的时候?
首先,ui-view
是AngularJS指令。一般来说,指令可以声明为元素属性、类或元件(即类似于HTML标记),或三者的任何组合,具体取决于指令本身。
在大多数情况下,所有三种声明都不会影响指令的功能。
因此,在实际意义上,<div ui-view></div>
和<div><ui-view></ui-view></div>
之间的主要区别可以归结为:
- HTML DOM树中的位置
<div ui-view></div>
是DOM树中的单个<div>
元素<div><ui-view></ui-view></div>
是嵌套在<div>
中的<ui-view>
元素
- AngularJS作用域层次结构
前者可能会影响非AngularJS内容,如CSS选择器、jQuery元素选择等。
AngularJS作用域层次结构可能会影响作用域变量的继承方式,以及如果有两个优先级相同的指令,指令之间的优先级如何。
然而,在ui-view
的情况下,范围方面似乎并不重要。