在此页面中:http://docs.angularjs.org/guide/directive
指令定义对象
终止符
如果设置为 true,则当前优先级将是最后执行的指令集(任何具有相同优先级的指令集的执行顺序仍未定义)。
我不太理解。什么是“当前优先级”? 如果有这些指令:
1. 具有 {priority: 1,terminal: false} 的 directive1 2. 具有 {priority: 10,terminal: false} 的 directive2 3. 具有 {priority: 100,terminal: false} 的 directive3 4. 具有 {priority: 100,terminal: true} 的 directive4 //这个是true 5. 具有 {priority: 1000,terminal: false} 的 directive5
请注意,directive4 具有 terminal:true,其他指令均为 false。
如果一个 HTML 标记具有这 5 个指令:
终止符
如果设置为 true,则当前优先级将是最后执行的指令集(任何具有相同优先级的指令集的执行顺序仍未定义)。
我不太理解。什么是“当前优先级”? 如果有这些指令:
1. 具有 {priority: 1,terminal: false} 的 directive1 2. 具有 {priority: 10,terminal: false} 的 directive2 3. 具有 {priority: 100,terminal: false} 的 directive3 4. 具有 {priority: 100,terminal: true} 的 directive4 //这个是true 5. 具有 {priority: 1000,terminal: false} 的 directive5
请注意,directive4 具有 terminal:true,其他指令均为 false。
如果一个 HTML 标记具有这 5 个指令:
<div directive1 directive2 directive3 directive4 directive5></div>
这5个指令的执行顺序是什么?
terminal
(指令4)。如果一个HTML标签拥有所有5个指令,它们的顺序是什么? - Freewind<div my-directive1 my-directive2 my-directive3 my-directive4></div>
中有一个具有{priority: 10, terminal: false}
的my-directive4
指令,那么会怎样呢?它应该始终运行,但它可能在my-directive2
之前或之后运行,对吗? - Freewindng-init
(优先级450)与在同一元素上的ng-repeat
(终端优先级1000)一起工作? - Adamng-repeat
运行后,您将得到与重复集合中每个项目对应的新元素,每个元素都有自己的子作用域和属性(可能是指令)。然后这些属性会正常运行,就像您手动编写并在每个上放置相同指令一样。一个更简单的示例是ng-if
。基于其条件插入或删除整个DOM元素。其他指令需要在每次插入时重新运行,但它们不应在ng-if
或ng-repeat
之前运行。除非那是您的目标,然后使用priority: 1001
等。 - Madeline Trotter