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

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

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

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

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

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

基本使用

angular.io/guide/stand…

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

但其實(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 {}
登錄后復(fù)制

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

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 {}
登錄后復(fù)制

獨(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 {}
登錄后復(fù)制

贊(0)
分享到: 更多 (0)
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
精品麻豆丝袜高跟鞋AV| 久久精品国产91久久综合麻豆自制| 欧美成人精品三级网站下载| 99久久精品全部| 国产精品igao视频网网址| 热久久这里是精品6免费观看| 国产精品久久久99| 凹凸69堂国产成人精品视频| 日韩精品一二三区| 国产大片91精品免费观看男同| 国产精品自在线拍国产手机版| 思思久久好好热精品国产| 精品国产一二三产品价格| 99re6在线视频精品免费下载| 久草视频这里只有精品| 精品999久久久久久中文字幕 | 久久99精品国产99久久6男男| 久久亚洲精品无码观看不卡| 国产成人无码精品久久久免费| 一区二区精品视频| 亚洲婷婷国产精品电影人久久| 精品国内自产拍在线视频| 日本精品自产拍在线观看中文| 日韩中文无码有码免费视频| 日韩免费一级毛片| 动漫精品专区一区二区三区不卡| 青娱乐国产精品视频| 日韩精品人成在线播放| 午夜三级国产精品理论三级 | 久久国产精品萌白酱免费| 亚洲AV无码成人精品区天堂 | 久久热这里只有精品在线观看| 精品综合久久久久久888蜜芽| 99久久99热精品免费观看国产| 久久久精品人妻一区二区三区蜜桃| 色婷婷在线精品国自产拍 | 国产精品久久久久一区二区| 国产精品资源一区二区| 国产精品二区三区免费播放心| 国产精品久久现线拍久青草| 国产99精品在线观看|