浅谈Angular中的DOM操作


本文摘自PHP中文网,作者青灯夜游,侵删。

本篇文章给大家介绍一下Angular中的DOM操作。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

相关推荐:《angular教程》

一、 Angular 中的 Dom 操作以及@ViewChild、 Angular 执行 css3 动画

1.1 原生js的 dom 操作以及动画

演示组件:app\components\transition
HTML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<div class="content">

 

    <p>内容区域</p>

 

    <div id="box">

          this is box

    </div>

    <br>

    <div id="box1" *ngIf="flag">

      this is box1 

    </div>

 

    <button (click)="showAside()">弹出侧边栏</button>

    <button (click)="hideAside()">隐藏侧边栏</button>

  </div>

   

  <aside id="aside">

    这是一个侧边栏

  </aside>

组件ts:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

public flag:boolean=true;

  constructor() { }

 

  ngOnInit(): void {

      //组件和指令初始化完成   并不是真正的dom加载完成

      let oBox:any=document.getElementById('box');

      console.log(oBox.innerHTML);

      oBox.style.color="red";

      //获取不到dom节点

     /*

      let oBox1:any=document.getElementById('box1');

      console.log(oBox1.innerHTML);

      oBox1.style.color="blue";

      

     */

  }

     //视图加载完成以后触发的方法    dom加载完成  (建议把dom操作放在这个里面) 

    ngAfterViewInit(){

        let oBox1:any=document.getElementById('box1');

        console.log(oBox1.innerHTML);

        oBox1.style.color="blue";

    }

 

  showAside(){

    //原生js获取dom节点

    var asideDom:any=document.getElementById('aside');

    asideDom.style.transform="translate(0,0)";

 

 }

 

hideAside(){

   //原生js获取dom节点

   var asideDom:any=document.getElementById('aside');

   asideDom.style.transform="translate(100%,0)";

 

}

1.2 Angular 中的 dom 操作(ViewChild)

ViewChild:属性装饰器

演示文件:\ngDemo\src\app\components\news

1、现在组件模板文件定义属性 ,通过#

阅读剩余部分

相关阅读 >>

浅谈Angular中的$injector对象

浅谈Angular中@viewchild的用法

聊一聊Angular中的路由(routing)

详解Angular中的ngmodule(模块)

详解Angular根模块与特性模块

谈谈Angular模块的使用以及懒加载

10个从喜到悲的Angular面试题

Angular脏值检测与vue数据劫持的区别是什么

深入了解Angular中的表单

如何安装和使用Angular cli?(图文详解)

更多相关阅读请进入《Angular》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...