站長資訊網
        最全最豐富的資訊網站

        Angular學習之聊聊獨立組件(Standalone Component)

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

        Angular學習之聊聊獨立組件(Standalone Component)

        Angular 14一項令人興奮的特性就是Angular的獨立組件(Standalone Component)終于來了。【相關教程推薦:《angular教程》】

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

        基本使用

        angular.io/guide/stand…

        standalone 是 Angular14 推出的新特性。

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

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

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

        然后在使用的 Module 中導入這個組件

        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 {}
        登錄后復制

        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 {}
        登錄后復制

        這種寫法導致我們始終無法擺脫 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 {}
        登錄后復制

        然后比如在 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 {}
        登錄后復制

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

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

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久精品国产久精国产思思| 亚洲综合一区二区国产精品| 2020久久精品国产免费| 九色精品视频在线观看| 青青草原综合久久大伊人精品| 亚洲av永久无码精品国产精品 | 欧美精品整片300页| 99久久精品免费| 2022精品天堂在线视频| 四虎国产精品永久在线观看| 日本五区在线不卡精品| 国产精品无码永久免费888| 色综合久久综精品| 精品国产一区二区三区久久| 国产精品视频色拍拍| 嫩草伊人久久精品少妇AV| 亚洲国产成人精品无码区在线观看| 欧美日韩精品久久久久| 久久国产午夜精品一区二区三区| 国产精品国产三级在线专区| 99久久亚洲综合精品成人| 亚洲精品免费在线观看| 久久99国产精品久久| 免费视频精品一区二区三区| 国产精品污视频| 九九热在线精品视频| 嫩草影院久久国产精品| 欧美日韩在线亚洲国产精品| 99久久国产综合精品麻豆| 国产精品高清一区二区三区不卡| 99re8这里有精品热视频免费| 2021久久国自产拍精品| 国产精品免费观看| 欧美精品一本久久男人的天堂 | 少妇人妻偷人精品无码视频| 四虎国产精品永久免费网址| 精品一区二区三区在线成人| 99在线精品免费视频九九视| 国产精品嫩草影院一二三区入口| 欧美韩国精品另类综合| 国产精品二区观看|