0
我在招聘面試中看到了這個問題,我不知道答案。任何人都可以幫忙嗎?AngularJS兩個指令做同樣的事情(改變顏色),哪一個改變顏色?
問:
假設AngularJS,與設定的應用是什麼顏色的文本顏色
<div blue-if="true" orange-if="true">
Color
</div>
簡單的指令?爲什麼?什麼是更好的方法來做到這一點?
我在招聘面試中看到了這個問題,我不知道答案。任何人都可以幫忙嗎?AngularJS兩個指令做同樣的事情(改變顏色),哪一個改變顏色?
問:
假設AngularJS,與設定的應用是什麼顏色的文本顏色
<div blue-if="true" orange-if="true">
Color
</div>
簡單的指令?爲什麼?什麼是更好的方法來做到這一點?
指令priority
有一個選項,用於確定相對於同一元素或嵌套時的其他指令應用指令的順序。該選項是數字的,如果未指定,則默認爲0,較高的數字給予較高的優先級。
檢查priority under $compile in the Angular docs。另外一篇很好的博客文章here進一步詳細。
如果沒有指定的指令priority
指定它們應用於字母的順序。因此,在這種情況下,將應用藍色和橙色,將文本保留爲橙色。
請注意,Angular docs(在上面的$ compile部分下)聲明具有未定義優先級的指令的順序並未實際設置,我剛剛注意到在實踐中 - 和其他人一樣 - 它似乎是按字母順序排列的。
取決於指令'優先'的首選項,或者如果沒有提及'優先'選項,那麼將會應用'orange'顏色。 –
http://codepen.io/comakai/pen/jbZJeJ – coma