91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Angular中DOM操作的示例

發布時間:2021-03-10 10:18:13 來源:億速云 閱讀:234 作者:小新 欄目:web開發

這篇文章主要介紹Angular中DOM操作的示例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、 Angular 中的 Dom 操作以及@ViewChild、 Angular 執行 css3 動畫

1.1 原生js的 dom 操作以及動畫

演示組件:app\components\transition
HTML

<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:

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、現在組件模板文件定義屬性 ,通過#

<div #myBox>
   我是一個dom節點
</div>

2、現在組件ts通過ViewChild 獲取dom

<div #myBox>我是一個dom節點</div>
<app-header #header></app-header>
<button type="button" (click)='getChildProp()'>獲取子組件header的屬性</button>
<button type="button" (click)='getChildMethod()'>獲取子組件header的方法</button>
import { Component, OnInit, ViewChild } from '@angular/core';

@Component({
  selector: 'app-news',
  templateUrl: './news.component.html',
  styleUrls: ['./news.component.less']
})
export class NewsComponent implements OnInit {
  //獲取Dom
  @ViewChild('myBox')
  public myBoxIn: any;

  @ViewChild('header')
  public header: any;

  constructor() { }

  ngOnInit(): void {
    // console.log(this.myBoxIn)

  }

  //處理dom節點
  ngAfterViewInit() {
    console.log(this.myBoxIn.nativeElement)

    //父組件獲取到了整個子組件header
    console.log('父組件獲取到了整個子組件header')
    console.log(this.header)
  }
  //獲取子組件header的屬性
  getChildProp() {
    console.log(this.header.title)

  }
  //獲取子組件header的方法
  getChildMethod() {
    console.log(this.header.headRun)
    this.header.headRun();
  }

}


// 父組件   news   引入 <app-header #header></app-header>
// 子組件  header

// 父組件 得到 子組件的 數據 和 方法   ---   子組件 傳 值給父組件  


// 總結:
// 1. 父組件中調用子組件的時候, 給子組件一個名稱
// <app-header #header></app-header>
// 2. 在父組件引入viewChild

// import { Component, OnInit,ViewChild } from '@angular/core';


// @ViewChild('header')
// public header:any;

// 3. 已經可以在父組件調用子組件的屬性和方法了


// 父組件傳值給子組件  @input   -- 子組件 得到 父組件的 數據 和 方法 

// 父組件: home
// 子組件: header

以上是“Angular中DOM操作的示例”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盐边县| 越西县| 林口县| 东至县| 阜宁县| 八宿县| 正定县| 沛县| 广州市| 洛南县| 宁蒗| 高清| 特克斯县| 广西| 承德县| 吕梁市| 克山县| 珲春市| 肇庆市| 钦州市| 黄石市| 沂水县| 孝义市| 京山县| 右玉县| 德钦县| 汕头市| 嘉义县| 方城县| 萨嘎县| 龙川县| 绥江县| 柘荣县| 寻乌县| 东阿县| 沂南县| 汉寿县| 泸定县| 西贡区| 宣武区| 扎囊县|