我在招聘面试中看到了这个问题,我不知道答案。有人可以帮忙吗?
问题:
假设AngularJS,使用简单的指令设置文本颜色
<div blue-if="true" orange-if="true">
Color
</div>
应用什么颜色?为什么?最新的方法是什么?
答案 0 :(得分:3)
指令priority
有一个选项,用于确定指令相对于同一元素上的其他指令或嵌套时的应用顺序。该选项为数字,如果未指定,则默认为0,优先级更高的数字。
检查priority under $compile in the Angular docs。还有一篇很好的博客文章here,详细介绍。
如果相关指令均未指定priority
,则会以按字母顺序顺序应用这些指令。因此,在这种情况下,将应用蓝色和橙色,将文本保留为橙色。
请注意,Angular文档(在上面的$ compile部分下)声明具有未定义优先级的指令的顺序实际上没有设置,我在实践中注意到 - 和其他人一样 - 它看起来是按字母顺序排列的。