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

        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號
        主站蜘蛛池模板: 欧洲精品99毛片免费高清观看 | 热久久这里只有精品| 精品一区二区三区免费视频| 婷婷五月深深久久精品| 一区二区三区四区精品视频| 久久亚洲精品无码AV红樱桃| 久久国产成人精品国产成人亚洲| 欧美精品国产一区二区| 亚洲综合无码精品一区二区三区| 国产精品免费αv视频| 精品福利资源在线| 大伊香蕉精品一区视频在线| 亚洲国产精品成人久久| 欧美人与动牲交a欧美精品| 国产成人精品久久| 久久亚洲精品视频| 91麻豆精品国产| 精品国产乱码久久久久久1区2区| 中文精品久久久久人妻不卡| 免费精品精品国产欧美在线欧美高清免费一级在线 | 国产A级毛片久久久精品毛片 | 99久久精品国内| 国产精品人人爽人人做我的可爱| 亚洲日韩一页精品发布| 午夜亚洲av永久无码精品| 麻豆精品视频在线观看| 精品国产91久久久久久久a | 日韩经典精品无码一区| 久久精品国产亚洲精品| 久久露脸国产精品| 久久久久无码精品| 久久精品成人免费国产片小草| 国产精品免费久久久久电影网| 91精品无码久久久久久五月天| 五月花精品视频在线观看| 青青青青久久精品国产h| 欧美国产日本精品一区二区三区| 极品精品国产超清自在线观看| 欧美大片日韩精品| 成人国产精品动漫欧美一区 | 国产免费久久精品99久久|