gpt4 book ai didi

angular - 什么是 Angular 中访问 DOM 元素的 `link` 函数的等价物

转载 作者:太空狗 更新时间:2023-10-29 17:33:35 25 4
gpt4 key购买 nike

有在 Angular 2 指令上设置 link 属性以注册转换 DOM 的回调的示例。

一个示例是为 D3.js 图形创建指令。看这个pen :

enter image description here

link属性:

Directives that want to modify the DOM typically use the link option to register DOM listeners as well as update the DOM. It is executed after the template has been cloned and is where directive logic will be put.

Angular 4 指令的 API 非常不同。 Angular 4 中如何实现类似的功能?

最佳答案

在 AngularJS 中有 2 个阶段:编译和链接。 AngularJS 允许您挂接到这些阶段并在编译阶段执行自定义 DOM 修改,并在链接阶段执行应用程序模型(作用域)和 DOM 元素之间的绑定(bind)。这就是指令定义对象 (DDO) 具有这些键的原因:

app.directive('name', function() {
return {
compile: () => {}
link: () => {}

Angular 在这方面是不同的。编译器现在将编译和链接作为一个阶段执行,您无法 Hook 该过程。您可以在以下文章中阅读更多相关信息:

Angular 提供了两种访问 DOM 的机制,而不是链接函数:

  • 查询 (@ViewChildren) - 主要由组件使用
  • 将 DOM 元素注入(inject)到构造函数中——主要由指令使用

您可以阅读有关查询的更多信息 here .这是将 DOM 元素注入(inject)指令的示例:

@Directive()
export class MyDirective {
constructor(el: ElementRef) {}

关于angular - 什么是 Angular 中访问 DOM 元素的 `link` 函数的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46248402/

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