站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

Angular學(xué)習(xí)之聊聊獨立組件(Standalone Component)

本篇文章帶大家繼續(xù)angular的學(xué)習(xí),簡單了解一下Angular中的獨立組件(Standalone Component),希望對大家有所幫助!

Angular學(xué)習(xí)之聊聊獨立組件(Standalone Component)

Angular 14一項令人興奮的特性就是Angular的獨立組件(Standalone Component)終于來了?!鞠嚓P(guān)教程推薦:《angular教程》】

在Angular 14中, 開發(fā)者可以嘗試使用獨立組件開發(fā)各種組件,但是值得注意的是Angular獨立組件的API仍然沒有穩(wěn)定下,將來可能存在一些破壞性更新,所以不推薦在生產(chǎn)環(huán)境中使用。

基本使用

angular.io/guide/stand…

standalone 是 Angular14 推出的新特性。

它可以讓你的 根模塊 AppModule 不至于那么臃腫

所有的 component / pipe / directive 都在被使用的時候 在對應(yīng)的組件引入就好了

舉個例子 這是之前的寫法 我們聲明一個 Footer 組件

然后在使用的 Module 中導(dǎo)入這個組件

import { Component } from '@angular/core';  @Component({   selector: 'app-footer',   template: ` <footer class="dark:bg-gray-800 dark:text-gray-50">Footer</footer> `, }) export class FooterComponent {}
登錄后復(fù)制

import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FooterComponent } from './footer.component';  @NgModule({   declarations: [HomeComponent, FooterComponent],   exports: [],   imports: [CommonModule], }) export class AppModuleModule {}
登錄后復(fù)制

這種寫法導(dǎo)致我們始終無法擺脫 NgModule

但其實我們的意圖就是在 AppComponent 中使用 FooterComponent

換成 React 中的寫法 其實會更便于管理和理解

用上我們的新特性 standalone

Footer 組件就改造成這樣

import { Component } from '@angular/core';  @Component({   selector: 'app-footer',   // 將該組件聲明成獨立組件   standalone: true,   template: ` <footer class="dark:bg-gray-800 dark:text-gray-50">Footer</footer> `, }) export class FooterComponent {}
登錄后復(fù)制

然后比如在 Home 頁面 我們就可以這樣使用

import { Component } from '@angular/core';  import { FooterComponent } from '@components/footer/footer.component';  @Component({   selector: 'app-home',   standalone: true,   // 聲明需要使用的 component / pipe / directive 但是它們也必須都是獨立組件   imports: [FooterComponent],   template: `<app-footer></app-footer>`, }) export class WelcomeComponent {}
登錄后復(fù)制

獨立組件可以直接用于懶加載 本來我們必須借助 NgModule 來實現(xiàn)

import { NgModule } from '@angular/core'; import { RouterModule, Routes } from '@angular/router';  import { CustomPreloadingStrategy } from '@views/basic-syntax/router/customPreloadingStrategy';  const routes: Routes = [   {     path: 'home',     // 之前想要實現(xiàn)懶加載 這里必須是一個NgModule 現(xiàn)在使用獨立組件也可以 并且更加簡潔     loadComponent: () => import('@views/home/home.component').then((mod) => mod.HomeComponent),   }, ];  @NgModule({   imports: [RouterModule.forRoot(routes, { preloadingStrategy: CustomPreloadingStrategy })],   exports: [RouterModule], }) export class AppRoutingModule {}
登錄后復(fù)制

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
一本一本久久aa综合精品| 香蕉依依精品视频在线播放| 亚洲精品无码久久久久久久| 久久国产精品99精品国产987| 国产激情精品一区二区三区| 国产精品日韩欧美一区二区三区 | 中文字幕无码日韩专区| 精品无码成人网站久久久久久| 国产69精品久久久久观看软件| 亚洲精品电影天堂网| 99久久国产综合精品1尤物| 久久精品国产99久久| 青青草国产精品久久久久| 中文字幕乱码中文乱码51精品| 爱看精品福利视频观看| 国产成人1024精品免费| 七次郎在线视频观看精品| 日韩成人大屁股内射喷水| 网友偷拍日韩精品| 国产精品久久久久久久久kt | 日韩精品人成在线播放| 国产精品资源在线观看| 成人精品一区二区电影| 精品国产性色无码AV网站| 囯产精品久久久久久久久久妞妞| 国产精品久久久久9999高清| 久久精品一区二区三区AV| 久久99精品久久久久子伦| 999精品视频在线观看| 嫩草伊人久久精品少妇AV| 欧洲精品久久久av无码电影| 无码精品人妻一区二区三区人妻斩 | 日韩精品视频在线观看免费 | 国内精品综合久久久40p| 国产玖玖玖九九精品视频| 精品国产不卡一区二区三区| 国产农村妇女毛片精品久久| 久久精品国产福利国产琪琪| 国产亚洲精品无码专区| 中文精品99久久国产| 亚洲精品成人网站在线观看|