gpt4 book ai didi

javascript - 在 Angular : are the compile function's pre and post methods the same as link's pre and post

转载 作者:可可西里 更新时间:2023-11-01 02:24:31 24 4
gpt4 key购买 nike

在一个 Angular Directive(指令)的编译函数中有一个前置和后置。这个pre和post真的和链接功能一样吗?

例如在下面的代码中,链接函数是否与它下面的编译函数的前置和后置功能相同(如果您愿意,可以使用快捷方式)?

链接

....
link: {
pre: function(scope, elem, attr) {
//stuff
},
post: function(scope, elem, attr) {
//stuff
}
}
....

编译...

  ....
compile: function(tElem, tAttrs){
return {
pre: function(scope, iElem, iAttrs){
//stuff
},
post: function(scope, iElem, iAttrs){
//stuff
}
}
}
.....

最佳答案

编译首先运行(通常是您操纵"template"dom 元素的地方)。链接是第二个运行的,通常是您将指令附加到 $scope 的地方。

它们也以特定的顺序运行,因此当您设计需要某些“父”指令设置才能正常运行的指令时(例如 tr:td 之类的东西),您可以使用该事实。

有一个 really great article关于编译与链接的时间安排,您可以查看一下以获得更清晰的信息。

此外 - 还有一个 very low level stack answer to a similar question您可能会喜欢(请注意,它不是列在第一位的,而是投票最多的)。

那么,有什么区别?

那么编译前/后链接是否与链接功能“相同”?您决定。

如果您在指令上定义编译,框架将忽略您的链接函数(因为编译函数应该返回前/后链接函数)。

有点像link重载compile.postLinklink.pre重载compile.preLink

关于javascript - 在 Angular : are the compile function's pre and post methods the same as link's pre and post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35027203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com