AngularJS两个指令做同样的事情(改变颜色),哪一个改变颜色?

时间:2016-04-05 21:31:53

标签: angularjs

我在招聘面试中看到了这个问题,我不知道答案。有人可以帮忙吗?

问题:

假设AngularJS,使用简单的指令设置文本颜色

<div blue-if="true" orange-if="true">
Color
</div>

应用什么颜色?为什么?最新的方法是什么?

1 个答案:

答案 0 :(得分:3)

指令priority有一个选项,用于确定指令相对于同一元素上的其他指令或嵌套时的应用顺序。该选项为数字,如果未指定,则默认为0,优先级更高的数字。

检查priority under $compile in the Angular docs。还有一篇很好的博客文章here,详细介绍。

如果相关指令均未指定priority,则会以按字母顺序顺序应用这些指令。因此,在这种情况下,将应用蓝色和橙色,将文本保留为橙色。

请注意,Angular文档(在上面的$ compile部分下)声明具有未定义优先级的指令的顺序实际上没有设置,我在实践中注意到 - 和其他人一样 - 它看起来是按字母顺序排列的。