2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > angular中获取dom元素

angular中获取dom元素

时间:2018-10-22 20:17:10

相关推荐

angular中获取dom元素

每次讲angular中的特性的时候总是习惯性地拿他和vue进行比较。

vue中获取dom元素的方法 有两种

1.通过js原生获取

如果你想提取获取dom元素的话,有个条件是你得在 mounted 挂载之后的生命周期钩子函数中 进行调用 document.getElementById();document.querySelector();

2. 就是 vue自带的 ref 给需要dom元素上加一个 ref=“自定义名称” 然后 通过 this.$refs.自定义名称就可以获取到了

好了 复习完 vue的东西 今天就来不如正题 在 angular中获取dom元素

大体上和vue类似哈

// 现在组建的html文件中 书写 一个div元素

<div class="box">hello world</div>

然后我们就来获取一下哈

1.通过原生js

首先也是 在一个 dom元素加载完的 一个生命周期钩子函数中使用原生js的方式获取

这个钩子函数叫做

ngAfterViewInit(); // 使用这个方法 之前要做一些准备的哈

// 引入 AfterViewInitimport {Component, OnInit, AfterViewInit } from '@angular/core';// 要实现 implements AfterViewInit 默认是没有export class FormsComponent implements OnInit, AfterViewInit{ngAfterViewInit(): void {const oBox: any = document.querySelector('.box');console.log(oBox);}}

最后也确实获取到了哈

2。通过angular自带的 ViewChild 方式获取

还是获取下 上面的那个 元素

不过在html上要有点变化了 不再使我们传统上的 id和class了

<div #box>hello world</div>

然后还是先引入这个 东西 ViewChild

import {Component, OnInit, ViewChild } from '@angular/core';export class FormsComponent implements OnInit, AfterViewInit {constructor() {}@ViewChild('box') box: any;// ViewChild 装饰器里面的就是之前我们自定义的那个boxngOnInit(): void {}ngAfterViewInit(): void {console.log(this.box.nativeElement);}}

照样获取到了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。