Angular中根模板与特性模板有何具体区别与特点?

更新于
2026-09-28 02:25:35
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1654个文字,预计阅读时间需要7分钟。

Angular中根模板与特性模板有何具体区别与特点?

本篇文章向各位家长介绍Angular 10中的根模板和特性模板。具有一定的参考价值,有需要的亲友可参考,希望能对大家有所帮助。

前提是已安装Angular CLI,以下大部分文件创建都依赖于CLI。

根模板(Root Template):根模板是Angular应用的基础,它定义了应用的布局和结构。在Angular CLI中,根模板通常由以下文件组成:

1. `index.`:HTML入口文件,包含了应用的入口脚本和样式。

2.`app.module.ts`:Angular模块文件,定义了应用的根模块。

Angular中根模板与特性模板有何具体区别与特点?

3.`app.component.ts`:根组件文件,是应用的主组件。

4.`app.component.`:根组件的HTML模板。

5.`app.component.css`:根组件的CSS样式。

特性模板(Feature Template):

特性模板是针对特定功能的模板,例如路由、服务、表单等。以下是一些常见的特性模板:

1. 路由模板(Routing Template):用于定义应用的导航和路由。

2.服务模板(Service Template):用于创建和管理应用中的服务。

3.表单模板(Form Template):用于创建和管理应用中的表单。

4.组件模板(Component Template):用于创建和管理应用中的组件。

以上模板均为Angular CLI自动生成的,具体文件名和内容可能因项目需求而有所不同。

本篇文章给大家介绍一下Angular10中的根模板和特性模板。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

前提是安装了 Angular cli,以下的大部分文件创建都是依赖于cli提供的指令

Angular中的特性模板和根模板(AppModule)

区别在于特性模板可以把应用划分,个人理解类似于组件化

1、特性模板创建的指令ng g module article ,这里使用的是ng g module article --routing,可以生成一个article-routing.module.ts路由文件。

2、此时CLI会在app文件夹下再创建一个文件夹article,article文件夹下包含两个文件article.module.ts和article-routing.module.ts

3、使用ng g component 生成两个组件,指定模板为article,指定的模板会自动导入到article.modules.ts中,并且注册到declarations数组,注意:不要删除declarations中注册的组件,不然会导致组件中部分指定无法使用

  • ng g component 说明
  • ng g component article/article-list -m=article ,在article文件夹下生成article-list文件夹组件
  • ng g component article/article-create -m=article ,在article文件夹下生成article-create文件夹组件

4、article.module.ts 在 CLI 生成的特性模块中,在文件顶部有两个 JavaScript 的导入语句:第一个导入了 NgModule,它像根模块中一样让你能使用 @NgModule 装饰器;第二个导入了 CommonModule,它提供了很多像 ngIf 和 ngFor 这样的常用指令。 特性模块导入 CommonModule,而不是 BrowserModule,后者只应该在根模块中导入一次。 CommonModule 只包含常用指令的信息,比如 ngIf 和 ngFor,它们在大多数模板中都要用到,而 BrowserModule 为浏览器所做的应用配置只会使用一次。

import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { ArticleRoutingModule } from './article-routing.module'; import { ArticleListComponent } from './article-list/article-list.component'; import { ArticleCreateComponent } from './article-create/article-create.component'; @NgModule({ declarations: [ArticleListComponent, ArticleCreateComponent], imports: [ CommonModule, ArticleRoutingModule ] }) export class ArticleModule { }

5、article-routing.module.ts ,路由地址嵌套配置,这里的地址设置是因为在app-routing.module根路由模块中已经设置了当前模块的路由前缀为article,因此下面的路由都只用直接设置即可,访问时带上根路由设置的路由前缀。

  • 例如,根路由设置的是article,这里设置的是list,访问地址需要使用article/list

import { NgModule } from '@angular/core' import { Routes, RouterModule } from '@angular/router' import { ArticleListComponent } from './article-list/article-list.component' import { ArticleCreateComponent } from './article-create/article-create.component' const routes: Routes = [ { path: '', children: [ { path: '', pathMatch:'full', redirectTo: '/article/list' }, { path: 'list', component: ArticleListComponent }, { path: 'create', component: ArticleCreateComponent } ] } ] @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] }) export class ArticleRoutingModule {}

6、根模块app.mudles.ts,导入app-routing.module文件,可以配置全局的路由

import { HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module' import { AppComponent } from './app.component'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, FormsModule, HttpClientModule, AppRoutingModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }

7、根模块的路由app-routing.module.ts loadChildren是使用了惰性加载特性模块 默认情况下,NgModule都是急性加载的,也就是说它会在应用加载时尽快加载,所有模块都是如此,无论是否立即要用。对于带有很多路由的大型应用,考虑使用惰性加载 —— 一种按需加载 NgModule的模式。惰性加载可以减小初始包的尺寸,从而减少加载时间。

import { NgModule } from '@angular/core' import { Routes, RouterModule } from '@angular/router' import { LoginComponent } from './login/login.component' const routes: Routes = [ { path: 'login', component: LoginComponent }, { path: 'article', loadChildren: () => import('./article/article.module').then((m) => m.ArticleModule) } ] @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule {}

8、最后如果想要访问article下面的list和create路由在浏览器输入地址article/list

  • article/list
  • 或者article/create

更多编程相关知识,请访问:编程教学!!

以上就是详解Angular中的根模板和特性模板的详细内容,更多请关注自由互联其它相关文章!

本文共计1654个文字,预计阅读时间需要7分钟。

Angular中根模板与特性模板有何具体区别与特点?

本篇文章向各位家长介绍Angular 10中的根模板和特性模板。具有一定的参考价值,有需要的亲友可参考,希望能对大家有所帮助。

前提是已安装Angular CLI,以下大部分文件创建都依赖于CLI。

根模板(Root Template):根模板是Angular应用的基础,它定义了应用的布局和结构。在Angular CLI中,根模板通常由以下文件组成:

1. `index.`:HTML入口文件,包含了应用的入口脚本和样式。

2.`app.module.ts`:Angular模块文件,定义了应用的根模块。

Angular中根模板与特性模板有何具体区别与特点?

3.`app.component.ts`:根组件文件,是应用的主组件。

4.`app.component.`:根组件的HTML模板。

5.`app.component.css`:根组件的CSS样式。

特性模板(Feature Template):

特性模板是针对特定功能的模板,例如路由、服务、表单等。以下是一些常见的特性模板:

1. 路由模板(Routing Template):用于定义应用的导航和路由。

2.服务模板(Service Template):用于创建和管理应用中的服务。

3.表单模板(Form Template):用于创建和管理应用中的表单。

4.组件模板(Component Template):用于创建和管理应用中的组件。

以上模板均为Angular CLI自动生成的,具体文件名和内容可能因项目需求而有所不同。

本篇文章给大家介绍一下Angular10中的根模板和特性模板。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

前提是安装了 Angular cli,以下的大部分文件创建都是依赖于cli提供的指令

Angular中的特性模板和根模板(AppModule)

区别在于特性模板可以把应用划分,个人理解类似于组件化

1、特性模板创建的指令ng g module article ,这里使用的是ng g module article --routing,可以生成一个article-routing.module.ts路由文件。

2、此时CLI会在app文件夹下再创建一个文件夹article,article文件夹下包含两个文件article.module.ts和article-routing.module.ts

3、使用ng g component 生成两个组件,指定模板为article,指定的模板会自动导入到article.modules.ts中,并且注册到declarations数组,注意:不要删除declarations中注册的组件,不然会导致组件中部分指定无法使用

  • ng g component 说明
  • ng g component article/article-list -m=article ,在article文件夹下生成article-list文件夹组件
  • ng g component article/article-create -m=article ,在article文件夹下生成article-create文件夹组件

4、article.module.ts 在 CLI 生成的特性模块中,在文件顶部有两个 JavaScript 的导入语句:第一个导入了 NgModule,它像根模块中一样让你能使用 @NgModule 装饰器;第二个导入了 CommonModule,它提供了很多像 ngIf 和 ngFor 这样的常用指令。 特性模块导入 CommonModule,而不是 BrowserModule,后者只应该在根模块中导入一次。 CommonModule 只包含常用指令的信息,比如 ngIf 和 ngFor,它们在大多数模板中都要用到,而 BrowserModule 为浏览器所做的应用配置只会使用一次。

import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { ArticleRoutingModule } from './article-routing.module'; import { ArticleListComponent } from './article-list/article-list.component'; import { ArticleCreateComponent } from './article-create/article-create.component'; @NgModule({ declarations: [ArticleListComponent, ArticleCreateComponent], imports: [ CommonModule, ArticleRoutingModule ] }) export class ArticleModule { }

5、article-routing.module.ts ,路由地址嵌套配置,这里的地址设置是因为在app-routing.module根路由模块中已经设置了当前模块的路由前缀为article,因此下面的路由都只用直接设置即可,访问时带上根路由设置的路由前缀。

  • 例如,根路由设置的是article,这里设置的是list,访问地址需要使用article/list

import { NgModule } from '@angular/core' import { Routes, RouterModule } from '@angular/router' import { ArticleListComponent } from './article-list/article-list.component' import { ArticleCreateComponent } from './article-create/article-create.component' const routes: Routes = [ { path: '', children: [ { path: '', pathMatch:'full', redirectTo: '/article/list' }, { path: 'list', component: ArticleListComponent }, { path: 'create', component: ArticleCreateComponent } ] } ] @NgModule({ imports: [RouterModule.forChild(routes)], exports: [RouterModule] }) export class ArticleRoutingModule {}

6、根模块app.mudles.ts,导入app-routing.module文件,可以配置全局的路由

import { HttpClientModule } from '@angular/common/http'; import { NgModule } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module' import { AppComponent } from './app.component'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, FormsModule, HttpClientModule, AppRoutingModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }

7、根模块的路由app-routing.module.ts loadChildren是使用了惰性加载特性模块 默认情况下,NgModule都是急性加载的,也就是说它会在应用加载时尽快加载,所有模块都是如此,无论是否立即要用。对于带有很多路由的大型应用,考虑使用惰性加载 —— 一种按需加载 NgModule的模式。惰性加载可以减小初始包的尺寸,从而减少加载时间。

import { NgModule } from '@angular/core' import { Routes, RouterModule } from '@angular/router' import { LoginComponent } from './login/login.component' const routes: Routes = [ { path: 'login', component: LoginComponent }, { path: 'article', loadChildren: () => import('./article/article.module').then((m) => m.ArticleModule) } ] @NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule] }) export class AppRoutingModule {}

8、最后如果想要访问article下面的list和create路由在浏览器输入地址article/list

  • article/list
  • 或者article/create

更多编程相关知识,请访问:编程教学!!

以上就是详解Angular中的根模板和特性模板的详细内容,更多请关注自由互联其它相关文章!