繁体   English   中英

Angular中的指令优先级不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM