Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在angularjs中先执行我的指令_Angularjs_Angularjs Directive - Fatal编程技术网

在angularjs中先执行我的指令

在angularjs中先执行我的指令,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一个不能更改的指令a(预定义的指令)。 我想创建另一个指令B,其中应该首先调用link函数(在A之前)。 我怎么做?(比方说,我不知道指令A的优先级是什么——如果相关的话……) html的结构是指令B是指令a的子指令: <DirectiveA><DirectiveB></DirectiveB></DirectiveA> 回答: 优先级不相关,只有在同一元素上有多个指令时才重要 你不需要做任何特别的事情,因为事实已经如此。子元素后链接函数始

我有一个不能更改的指令a(预定义的指令)。 我想创建另一个指令B,其中应该首先调用link函数(在A之前)。 我怎么做?(比方说,我不知道指令A的优先级是什么——如果相关的话……)

html的结构是指令B是指令a的子指令:

<DirectiveA><DirectiveB></DirectiveB></DirectiveA>

回答:
  • 优先级不相关,只有在同一元素上有多个指令时才重要
  • 你不需要做任何特别的事情,因为事实已经如此。子元素后链接函数始终在其父元素后链接函数之前运行
  • 如果
    DirectiveA
    (父元素)正在延迟
    DirectiveB
    的创建,则您无法从
    DirectiveB
    内部执行任何操作来阻止它
  • ngRepeat
    /
    ngIf
    ngSwitch
    ngView
    /
    ngInclude
    都是延迟子元素创建的指令的好例子

来源 从

优先 当在单个DOM元素上定义了多个指令时,有时需要指定应用这些指令的顺序

发件人:

前后链接功能 不同之处在于,
prelinkfunction()
将首先在父对象上激发,然后在子对象上激发,依此类推。
PostLinkingFunction()
的顺序相反,首先向子对象开火,然后向父对象开火,依此类推

这篇文章很有用