首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是角中的“连线”函数来访问DOM元素?

什么是角中的“连线”函数来访问DOM元素?
EN

Stack Overflow用户
提问于 2017-09-15 22:53:11
回答 1查看 2.5K关注 0票数 5

有一些示例说明如何在角2指令上设置link属性,以注册转换DOM的回调。

一个例子是为D3.js图创建指令。参见此钢笔

link属性:

希望修改DOM的指令通常使用链接选项注册DOM侦听器并更新DOM。它是在模板被克隆之后执行的,并且是放置指令逻辑的地方。

用于角4指令的API是非常不同的。如何在角4中实现类似的功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-16 08:18:05

在AngularJS中,有两个阶段:编译和链接。AngularJS允许您连接到这些阶段,并在编译阶段执行自定义DOM修改,并在链接阶段执行app模型(scope)和DOM元素之间的绑定。这就是指令定义对象(DDO)具有以下键的原因:

代码语言:javascript
复制
app.directive('name', function() {
   return {
      compile: () => {}
      link: () => {}

角度在这方面是不同的。编译和链接现在由编译器作为一个阶段执行,您没有办法连接到该过程。您可以在以下文章中阅读更多有关它的内容:

不但没有链接函数,角还提供了两种访问DOM的机制:

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

您可以阅读有关查询这里的更多信息。下面是将DOM元素注入指令的示例:

代码语言:javascript
复制
@Directive()
export class MyDirective {
   constructor(el: ElementRef) {}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46248402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档