Artikel untuk bercakap tentang cara mengendalikan elemen DOM dalam Angular

青灯夜游
Lepaskan: 2022-01-22 09:58:32
ke hadapan
2476 orang telah melayarinya

Bagaimana untuk mengendalikan elemen DOM dalam Angular? Artikel berikut akan memperkenalkan kepada anda cara sudut mengendalikan elemen DOM saya harap ia akan membantu anda.

Artikel untuk bercakap tentang cara mengendalikan elemen DOM dalam Angular

Anda boleh menggunakan javascript的原生API untuk mendapatkan elemen DOM dalam sudut, atau memperkenalkan jQuery untuk mengendalikan DOM melalui jquery对象, tetapi angular telah menyediakan kami dengan API yang sepadan ( ElementRef) untuk mendapatkan elemen DOM, tidak perlu menggunakan API asli atau jQuery. [Cadangan tutorial berkaitan: "tutorial sudut"]

ElementRef Dapatkan elemen DOM

1. Cipta komponen TestComponent Seperti berikut: test.component.html

<div>
	<p>你好</p>
</div>
<div>
    <span>世界</span>
</div>
<h1>标题</h1>
<pass-badge id="component" textColor="red">组件</pass-badge>
Salin selepas log masuk

2. Tulis test.component.ts fail

import { Component, OnInit } from &#39;@angular/core&#39;;
// 1、导入 ElementRef 类
import { ElementRef} from &#39;@angular/core&#39;;
import { PassBadge } from &#39;./compoment/pass-badge/pass-badge.component&#39;

@Component({
  selector: &#39;app-test&#39;,
  templateUrl: &#39;./test.component.html&#39;,
  styleUrls: [&#39;./test.component.css&#39;],
  declarations: [ PassBadge ]
})
export class TestComponent implements OnInit {
	// 2、将 ElementRef 类注入 test 组件中
    constructor(private el:ElementRef) {}

    ngOnInit() {
    	// 3、获取 DOM 元素
        console.log(this.el.nativeElement)
        console.log(this.el.nativeElement.querySelector(&#39;#component&#39;))
    }
}
Salin selepas log masuk

Mari kita lihat apakah this.el.nativeElement itu

Artikel untuk bercakap tentang cara mengendalikan elemen DOM dalam Angular
Jadi anda boleh menggunakan this.el.nativeElement.querySelector(&#39;#component&#39;) untuk mengendalikan elemen DOM yang sepadan. Contohnya, anda boleh menukar warna teks

this.el.nativeElement.querySelector(&#39;#component&#39;).style.color = &#39;lightblue&#39;
Salin selepas log masuk

Pembolehubah templat untuk mendapatkan elemen DOM

Anda boleh mendapatkan komponen melalui ViewChild, dan perkara yang sama ialah ContentChild , ViewChildren dan ContentChildren

1. Ubah suai komponen TestComponent dan tambahkan pembolehubah templat pada elemen yang sepadan, seperti berikut

<div>
    <p>你好</p>
</div>
<!-- 1、给元素加入模板变量 div -->
<div #div>
    <span>世界</span>
</div>
<h1>标题</h1>
<!-- 给组件加入模板变量 component -->
<pass-badge #component textColor="red">组件</pass-badge>
Salin selepas log masuk

2. Ubah suai test.component.ts, Seperti berikut:

import { Component, OnInit } from &#39;@angular/core&#39;;
import { ElementRef} from &#39;@angular/core&#39;;
// 2、引入ViewChild
import { ViewChild } from &#39;@angular/core&#39;

@Component({
  selector: &#39;app-test&#39;,
  templateUrl: &#39;./test.component.html&#39;,
  styleUrls: [&#39;./test.component.css&#39;]
})
export class TestComponent implements OnInit {
    constructor(private el:ElementRef) {}
    // 3、获取元素
    @ViewChild(&#39;component&#39;) dom: any;
    @ViewChild(&#39;div&#39;) div: any;
    ngOnInit() {
        console.log(this.dom)	// PassBadgeComponent
        this.dom.fn()   // 调用 passbadge 组件的 fn 方法
        console.log(this.div)	// ElementRef
        this.div.nativeElement.style.color = &#39;lightblue&#39;	// 文字颜色修改为淡蓝色
    }
}
Salin selepas log masuk

Keputusan akhir adalah seperti berikut

Artikel untuk bercakap tentang cara mengendalikan elemen DOM dalam Angular

Daripada keputusan kami boleh tahu bahawa apabila menggunakan pembolehubah templat ViewChild untuk mendapatkan elemen komponen, Apa yang diperolehi ialah kelas komponen yang dieksport oleh komponen (contoh di atas ialah PassBadgeComponent Pada masa ini, hanya sifat yang terkandung dalam komponen yang boleh dikendalikan.

Apabila menggunakan pembolehubah templat ViewChild untuk mendapatkan elemen html, kelas yang diperoleh ialah jenis ElementRef Pada masa ini, elemen this.div.nativeElement.querySelector('span')

>Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati:

Video Pengaturcaraan! !

Atas ialah kandungan terperinci Artikel untuk bercakap tentang cara mengendalikan elemen DOM dalam Angular. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!