Komponen sudut ialah asas aplikasi Sudut, menyediakan cara untuk membina bahagian modular, boleh guna semula antara muka pengguna. Dalam panduan ini, kami akan merangkumi asas komponen Sudut, daripada strukturnya kepada amalan terbaik. Sama ada anda baru menggunakan Angular atau mencari penyegar semula, artikel ini akan memberi anda pemahaman asas tentang komponen dalam Angular.
Dalam Angular, komponen ialah kelas yang mengawal sekeping antara muka pengguna (UI). Fikirkan tentang butang, tab, input, borang dan laci (sedikit pun UI sebenarnya). Setiap komponen adalah serba lengkap, terdiri daripada:
Komponen adalah penting untuk mencipta aplikasi modular, kerana setiap satu boleh mewakili bahagian tertentu halaman, seperti pengepala, bar sisi atau kad.
Komponen Sudut ditakrifkan menggunakan penghias @Component, yang mengkonfigurasinya dengan templat, gaya dan pemilih yang diperlukan. Berikut ialah contoh asas:
import { Component } from '@angular/core'; @Component({ selector: 'app-example', templateUrl: './example.component.html', styleUrls: ['./example.component.css'] }) export class ExampleComponent { title: string = 'Hello, Angular!'; getTitle() { return this.title; } }
Dalam contoh ini:
Projek sudut biasanya menyusun komponen dengan fail berkaitannya dalam satu folder, dibuat secara automatik apabila menggunakan CLI Sudut. Struktur folder biasa untuk komponen termasuk:
Komponen sudut mempunyai kitaran hayat dengan cangkuk yang membolehkan pembangun melakukan tindakan pada pelbagai peringkat. Cangkuk kitar hayat yang biasa digunakan termasuk:
Sebagai contoh, berikut ialah cara ngOnInit digunakan:
import { Component } from '@angular/core'; @Component({ selector: 'app-example', templateUrl: './example.component.html', styleUrls: ['./example.component.css'] }) export class ExampleComponent { title: string = 'Hello, Angular!'; getTitle() { return this.title; } }
Cangkuk kitar hayat memberikan fleksibiliti, menjadikannya mudah untuk mengurus logik pada peringkat tertentu kitaran hayat komponen.
Dalam aplikasi dunia nyata, komponen selalunya perlu berinteraksi antara satu sama lain untuk berkongsi data atau mencetuskan tindakan. Angular menyediakan beberapa kaedah untuk komunikasi komponen:
Contoh:
import { Component, OnInit } from '@angular/core'; @Component({ selector: 'app-lifecycle', template: '<p>Lifecycle example</p>', }) export class LifecycleComponent implements OnInit { ngOnInit() { console.log('Component initialized!'); } }
// child.component.ts import { Component, Input, Output, EventEmitter } from '@angular/core'; @Component({ selector: 'app-child', template: `<button (click)="sendMessage()">Send Message</button>`, }) export class ChildComponent { @Input() childMessage: string; @Output() messageEvent = new EventEmitter<string>(); sendMessage() { this.messageEvent.emit('Message from child!'); } }
Apabila komponen tidak berada dalam hubungan ibu bapa-anak, perkhidmatan Angular menawarkan cara yang mudah untuk berkongsi data dan logik. Perkhidmatan adalah tunggal secara lalai, bermakna hanya satu contoh wujud di seluruh apl.
<!-- parent.component.html --> <app-child [childMessage]="parentMessage" (messageEvent)="receiveMessage($event)"></app-child>
Menggunakan perkhidmatan dalam komponen yang berbeza:
import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class SharedService { private messageSource = new BehaviorSubject<string>('Default Message'); currentMessage = this.messageSource.asObservable(); changeMessage(message: string) { this.messageSource.next(message); } }
// component-one.ts import { Component } from '@angular/core'; import { SharedService } from '../shared.service'; @Component({ selector: 'app-component-one', template: `<button (click)="changeMessage()">Change Message</button>`, }) export class ComponentOne { constructor(private sharedService: SharedService) {} changeMessage() { this.sharedService.changeMessage('Hello from Component One'); } }
Komponen sudut adalah teras pembinaan aplikasi berskala dan modular. Dengan memahami struktur, kitaran hayat dan kaedah komunikasi mereka, anda boleh mencipta aplikasi yang cekap dan boleh diselenggara yang mudah difahami dan dibina.
Dalam artikel seterusnya, kami akan menyelami kitaran hayat komponen Angular dengan lebih terperinci, meneroka setiap cangkuk dan cara ia boleh digunakan untuk mengurus komponen dengan berkesan. Nantikan untuk melihat lebih mendalam ciri kitaran hayat berkuasa Angular!
Atas ialah kandungan terperinci Panduan Asas untuk Memahami Komponen dalam Sudut. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!