如何獲得共享指令的所有元素的數組,以便我可以遍歷它們並讓它們彼此做不同的事情?Angular獲取共享指令的所有元素的列表
我有一個在多個元素上使用的指令,根據使用restrict: 'A'
的每個指令的屬性值,我需要這些指令在鏈接函數中以不同的方式相互通信並相互影響。
我已經嘗試使用:
link : function(scope, elem, attr) {
attr.forEach(function(e, i) {
if(attr[i] === 'menu') {
//do something
} else if (attr[i] === 'scroll') {
//do something else
}
});
}
,但我瞭解foreach循環作爲一個未定義的功能。我也試過一個簡單的for循環,但兩者:
elem.length
和
attr.length
給我不確定。
請注意,我不希望因爲我需要每個元素做的其實具體到每一個其他元素的東西用不同的指令以不同的邏輯。
我可以使用jQuery直接選擇元素,但由於多種原因,這並不理想。
沒有什麼內置指令來使你獲得共享指令的所有元素? – EmmaGamma
我相信[這篇文章](http://stackoverflow.com/questions/20801843/angularjs-find-element-with-attribute)是你在找什麼。看第二個答案。我還沒有找到任何內置替代文件。 – GGhe
hmmm似乎沒有幫助...顯然,我已經知道你可以訪問鏈接函數中的元素,但是如何在鏈接函數中同時訪問所有指令元素而不查詢dom? – EmmaGamma