Angular學(xué)習(xí)之聊聊獨(dú)立組件(Standalone Component)-天天亮點(diǎn)

          來源:php中文網(wǎng) | 2022-12-19 19:49:21 |

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

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

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


          (資料圖片僅供參考)

          基本使用

          standalone 是 Angular14 推出的新特性。

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

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

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

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

          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 {}

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

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

          換成 React中的寫法 其實(shí)會(huì)更便于管理和理解

          用上我們的新特性 standalone

          Footer 組件就改造成這樣

          import { Component } from "@angular/core";@Component({  selector: "app-footer",  // 將該組件聲明成獨(dú)立組件  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 但是它們也必須都是獨(dú)立組件  imports: [FooterComponent],  template: `<app-footer></app-footer>`,})export class WelcomeComponent {}

          獨(dú)立組件可以直接用于懶加載 本來我們必須借助 NgModule 來實(shí)現(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",    // 之前想要實(shí)現(xiàn)懶加載 這里必須是一個(gè)NgModule 現(xiàn)在使用獨(dú)立組件也可以 并且更加簡(jiǎn)潔    loadComponent: () => import("@views/home/home.component").then((mod) => mod.HomeComponent),  },];@NgModule({  imports: [RouterModule.forRoot(routes, { preloadingStrategy: CustomPreloadingStrategy })],  exports: [RouterModule],})export class AppRoutingModule {}

          更多編程相關(guān)知識(shí),請(qǐng)?jiān)L問:編程教學(xué)??!

          以上就是Angular學(xué)習(xí)之聊聊獨(dú)立組件(Standalone Component)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!

          關(guān)鍵詞: 獨(dú)立組件 Angular.js

          亚洲日本乱码在线观看| 亚洲av极品无码专区在线观看| 亚洲男人天堂2017| 亚洲色婷婷综合开心网| 国产成人精品亚洲一区| 亚洲精品国产suv一区88| 亚洲日韩精品无码专区加勒比☆| 亚洲成a人片在线观看中文!!! | 91在线亚洲综合在线| 亚洲a级成人片在线观看| 亚洲一区在线视频观看| 亚洲一区二区三区高清不卡| 亚洲人成7777| 亚洲色中文字幕在线播放| 亚洲一区AV无码少妇电影| 亚洲第一综合天堂另类专| 亚洲av中文无码乱人伦在线观看 | 亚洲永久在线观看| 亚洲综合久久精品无码色欲| 亚洲色大18成人网站WWW在线播放 亚洲色大成WWW亚洲女子 | 亚洲av永久无码天堂网| 亚洲国产成人精品无码区花野真一 | 亚洲免费视频网站| 亚洲精品日韩专区silk| 亚洲国产精品免费在线观看| 亚洲人6666成人观看| 亚洲一卡2卡3卡4卡5卡6卡| 亚洲AV无码一区二区乱子仑| 国产精品亚洲一区二区三区在线观看| 国产成人亚洲精品无码AV大片| 亚洲福利精品一区二区三区| 亚洲日本一区二区一本一道| 亚洲综合av永久无码精品一区二区| 亚洲精品国产字幕久久不卡 | 亚洲日韩精品国产一区二区三区| 亚洲AV成人无码久久WWW| 亚洲精品无码99在线观看| 亚洲精品色午夜无码专区日韩| 亚洲午夜在线电影| 久久精品国产亚洲AV忘忧草18 | 亚洲AV一宅男色影视|