[英]Directive priority in Angular not working
我有這個元素:
<div ace-editor dl-editor></div>
這些指令:
angular.module('DLApp')
.directive 'aceEditor', () ->
restrict: 'A'
priority: 10
scope: false
link: linkFunc1
.directive 'dlEditor', (Graph) ->
restrict: 'A'
priority: 0
scope: false
link: linkFunc2
(我知道0
是默認值)
dlEditor
總是首先被執行,然后是aceEditor
。 我究竟做錯了什么?
根據文件 :
強調我的
優先
當在單個DOM元素上定義了多個指令時,有時需要指定應用指令的順序。 優先級用於在調用編譯函數之前對指令進行排序。 優先級定義為數字。 首先編譯具有更高數字優先級的指令。 預鏈接功能也按優先級順序運行, 但后鏈接功能以相反的順序運行 。 具有相同優先級的指令的順序是未定義的。 默認優先級為0。
因此,首先編譯具有較高優先級的指令( aceEditor
),但它的后連接功能(這似乎是您感興趣的)最后運行。
您應該在預鏈接功能中移動邏輯(如果這適用於您的情況)或反轉優先級。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.