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

青灯夜游
Lepaskan: 2022-06-23 15:49:08
ke hadapan
3009 orang telah melayarinya

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
Salin selepas log masuk
@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
Salin selepas log masuk

Import modul sedia ada dalam komponen bebas

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

imports: [
    CommonModule,
    MatButtonModule,
],
Salin selepas log masuk

Dengan cara ini, kita boleh menggunakan ButtonListComponent's <🎜 dalam 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>
Salin selepas log masuk
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 {
Salin selepas log masuk
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));
Salin selepas log masuk

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

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
          ),
  },
];
Salin selepas log masuk
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));
Salin selepas log masuk

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)
  ],
})
Salin selepas log masuk
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}`;
  }
}
Salin selepas log masuk
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!

Label berkaitan:
sumber:juejin.cn
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