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

        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號
        主站蜘蛛池模板: 欧美性videos高清精品| 黑人无码精品又粗又大又长| 久久精品国产91久久麻豆自制 | 九九热这里只有在线精品视 | 亚洲国产精品一区二区久久| 在线精品亚洲一区二区| 国产精品青草视频免费播放| 国产精品2019| 久久久一本精品99久久精品88| 久久精品亚洲精品国产欧美| 国产高清在线精品一区二区| 久久96国产精品久久久| 国产精品久久久久jk制服| 亚洲精品欧美精品日韩精品| 久久精品国产精品亚洲下载| 国产高清在线精品一本大道国产| 久久久久国产精品| 97久久超碰国产精品2021| 欧美午夜精品久久久久免费视| 亚洲一区二区三区国产精品| 乱人伦人妻精品一区二区| 国产精品自产拍高潮在线观看| 国产福利精品视频自拍| 久久国产精品久久精品国产| 国产福利微拍精品一区二区| 国产伦精品免编号公布| 久久亚洲私人国产精品| 亚洲精品无码AV人在线播放| 亚洲一区无码精品色| 亚洲国产精品国产自在在线| 日本精品视频在线观看| 久久亚洲国产精品五月天婷| 精品视频久久久久| 免费精品久久久久久中文字幕| 精品视频一区二区三区| 久久93精品国产91久久综合| 久久e热在这里只有国产中文精品99| 精品一区二区三区免费观看 | 亚洲国产精品综合久久一线| 久久五月精品中文字幕| 无码精品人妻一区二区三区AV|