Rumah >hujung hadapan web >tutorial js >Analisis ringkas komponen bebas dalam Angular dan lihat cara menggunakannya

Analisis ringkas komponen bebas dalam Angular dan lihat cara menggunakannya

青灯夜游
青灯夜游ke hadapan
2022-06-23 15:49:083014semak imbas

Artikel ini akan membawa anda melalui komponen bebas dalam Angular, cara mencipta komponen bebas dalam Angular dan cara mengimport modul sedia ada dalam komponen bebas saya harap ia akan membantu semua orang. !

Analisis ringkas komponen bebas dalam Angular dan lihat cara menggunakannya

Ciri menarik Angular 14 ialah komponen bebas Angular akhirnya berada di sini.

Dalam Angular 14, pembangun boleh cuba menggunakan komponen bebas untuk membangunkan pelbagai komponen, tetapi perlu diperhatikan bahawa API komponen bebas Angular masih tidak stabil, dan mungkin terdapat beberapa kemas kini yang merosakkan pada masa hadapan, jadi ia tidak digalakkan digunakan dalam persekitaran pengeluaran. [Cadangan tutorial berkaitan: "tutorial sudut"]

Cara mencipta komponen bebas

Untuk komponen sedia ada, kami boleh @Component() Tambah berdiri sendiri: ​​benar, dan kemudian kami boleh terus menggunakan @NgModule() untuk mengimport modul lain tanpa imports. Jika anda mencipta komponen baharu, anda boleh menggunakan perintah ng generate component <name> --standalone</name> untuk mencipta komponen bebas secara terus, contohnya:

ng generate component button-list --standalone
@Component({
  selector: &#39;app-button-list&#39;,  
  standalone: true,  
  imports: [
    CommonModule,
  ],  
  templateUrl: &#39;./button-list.component.html&#39;,  
  styleUrls: [&#39;./button-list.component.scss&#39;]
})
export class ButtonListComponent implements OnInit

Import modul sedia ada dalam komponen bebas

Kita boleh menambah modul sedia ada dalam imports, ambil MatButtonModule sebagai contoh:

imports: [
    CommonModule,
    MatButtonModule,
],

Dengan cara ini, kita boleh menggunakan ButtonListComponent's MatButtonModule > Komponen: mat-button

<button mat-button>Basic</button>
<button mat-button color="primary">Primary</button>
<button mat-button color="accent">Accent</button>
<button mat-button color="warn">Warn</button>
<button mat-button disabled>Disabled</button>
<a mat-button href="https://damingerdai.github.io" target="_blank">Link</a>
Rendering:

Analisis ringkas komponen bebas dalam Angular dan lihat cara menggunakannya

Gunakan komponen bebas untuk memulakan aplikasi Angular

Tidak. Langkah pertama, tetapkan

sebagai komponen bebas: AppComponent

@Component({
  selector: &#39;app-root&#39;,  
  templateUrl: &#39;./app.component.html&#39;,  
  styleUrls: [&#39;./app.component.scss&#39;],  
  standalone: true,
})
export class AppComponent {
Langkah kedua, tambahkan modul yang diimport dalam import

kepada import AppModule, tetapi terdapat dua modul Pengecualian: AppComponent dan BrowserModule. BrowserAnimationsModule

Jika diimport, ia mungkin menyebabkan **

telah pun dimuatkan Jika anda memerlukan akses kepada arahan biasa seperti NgIf dan NgFor, import BrowserModule sebaliknya.** masalah: CommonModule<.>

Analisis ringkas komponen bebas dalam Angular dan lihat cara menggunakannyaLangkah ketiga ialah memadam fail

app.module.tsLangkah terakhir ialah menukar perkataan dalam

:

main.ts

kepada:
import { platformBrowserDynamic } from &#39;@angular/platform-browser-dynamic&#39;;
platformBrowserDynamic().bootstrapModule(AppModule)
  .catch(err => console.error(err));

Dengan cara ini, kita boleh memulakan komponen Sudut menggunakan komponen bebas.
bootstrapApplication(AppComponent).catch(err => console.error(err));

Konfigurasikan penghalaan untuk komponen bebas

Saya mempunyai tiga komponen bebas di sini:

,

dan HomeComponent, ButtonListComponentChipListComponent kemudian Cipta objek

ROUTES

main.ts dalam

, di mana
const ROUTES: Route[] = [
  {
      path: &#39;&#39;,    
      pathMatch: &#39;full&#39;,    
      redirectTo: &#39;home&#39;
  },
  {
      path: &#39;home&#39;,    
      component: HomeComponent
  },
  {
      path: &#39;button&#39;,    
      loadComponent: () =>
            import(&#39;./app/button-list/button-list.component&#39;).then(
                    (mod) => mod.ButtonListComponent
            ),
  },
  {
      path: &#39;chip&#39;,    
      loadComponent: () =>  
          import(&#39;./app/chip-list/chip-list.component&#39;).then(
                  (mod) => mod.ChipListComponent
          ),
  },
];
dan

menggunakan ButtonListComponent untuk melaksanakan pemuatan malas laluan. ChipListComponentloadComponent Kemudian gunakan

untuk mendaftar

dalam parameter kedua bootstrapApplication. providersRouterModule

Rendering:
bootstrapApplication(AppComponent, {
  providers: [
    importProvidersFrom(RouterModule.forRoot([...ROUTES])),
  ],
}).catch(err => console.error(err));

Analisis ringkas komponen bebas dalam Angular dan lihat cara menggunakannya

Mengkonfigurasi Suntikan Ketergantungan

Apabila kita ingin memulakan aplikasi Sudut Kadangkala , anda mungkin perlu menyuntik beberapa nilai atau perkhidmatan. Dalam

, kami boleh mendaftarkan nilai atau perkhidmatan melalui

. bootstrapApplicationprovidersSebagai contoh, saya mempunyai url untuk mendapatkan gambar, yang perlu disuntik ke dalam

:

PhotoService

bootstrapApplication(AppComponent, {
  providers: [
    {
          provide: &#39;photoUrl&#39;,      
          useValue: &#39;https://picsum.photos&#39;,
    },
    {provide: PhotosService, useClass: PhotosService },
    importProvidersFrom(RouterModule.forRoot([...ROUTES])),
    importProvidersFrom(HttpClientModule)
  ],
})
Kodnya adalah seperti berikut:

PhotoService

@Injectable()export class PhotosService {
  constructor(
    @Inject(&#39;photoUrl&#39;) private photoUrl: string,
    private http: HttpClient  ) { }

  public getPhotoUrl(i: number): string {
      return `${this.photoUrl}/200/300?random=${i}`;
  }
}
Kod sumber

Kod sumber yang digunakan dalam artikel ini: https://github.com/damingerdai/angular-standalone-components-app

Demo dalam talian : https:// damingerdai.github.io/angular-standalone-components-app/

Alamat asal: https://juejin.cn/post/7107224235914821662

Lebih banyak pengaturcaraan berkaitan Untuk pengetahuan, sila layari:
Video Pengaturcaraan

! !

Atas ialah kandungan terperinci Analisis ringkas komponen bebas dalam Angular dan lihat cara menggunakannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam