[Angular] 笔记 7:模块

Angular 中的模块(modules) 是代码在逻辑上的最大划分,它类似于C++, C# 中的名字空间

在这里插入图片描述
module 可分为如下几种不同的类型:

在这里插入图片描述

使用模块的第一个原因是要对代码进行逻辑上的划分,第二个非常重要的原因是为了实现懒惰加载(lazy loading),即不同的模块仅在使用时才加载。

生成模块相关指令举例:
在这里插入图片描述
VS Terminal 运行命令:

PS D:\Angular\my-app> ng generate module pokemon-base
CREATE src/app/pokemon-base/pokemon-base.module.ts (197 bytes)

这里模块名称pokemon-base后面没有再加一个 -module是因为Angular会自动加上一个 .module, pokemon-base-module.module 看起来会很奇怪,从 VS code 可看到新生成的文件夹 pokemon-base以及新文件 pokemon-base.module.ts

在这里插入图片描述

非常重要的一点,pokemon-base.module.ts 文件中要加上exports: [ ],

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';@NgModule({declarations: [],imports: [CommonModule],// importantexports: [],
})
export class PokemonBaseModule {}

VS Terminal 运行命令生成一个 UI 组件 pokemon-list:

PS D:\Angular\my-app> ng generate component pokemon-base/pokemon-list --module=pokemon-base/pokemon-base.module.ts
CREATE src/app/pokemon-base/pokemon-list/pokemon-list.component.html (27 bytes)
CREATE src/app/pokemon-base/pokemon-list/pokemon-list.component.spec.ts (635 bytes)
CREATE src/app/pokemon-base/pokemon-list/pokemon-list.component.ts (298 bytes)
CREATE src/app/pokemon-base/pokemon-list/pokemon-list.component.css (0 bytes)
UPDATE src/app/pokemon-base/pokemon-base.module.ts (308 bytes)

可以看到项目中新生成的组件文件夹以及文件:

在这里插入图片描述

同时修改 pokemon-base.module.ts 中的 exports: [ ],

@NgModule({declarations: [],imports: [CommonModule],// 增加 PokemonListComponentexports: [PokemonListComponent],
})
export class PokemonBaseModule {}

修改 app.module.ts 中的 imports

@NgModule({declarations: [AppComponent],// 增加 PokemonBaseModuleimports: [BrowserModule, AppRoutingModule, PokemonBaseModule],providers: [],bootstrap: [AppComponent],
})
export class AppModule {}

app.component.html 中增加新生成的组件:

在这里插入图片描述

运行 ng serve
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/294063.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java之HashMap核心源码解读

HashMap核心源码解读 HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的 Map 接口实现,是常用的 Java 集合之一,是非线程安全的。 HashMap 可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作…

开源 AI 新秀崛起:Bittensor 更像是真正的“OpenAI”

强大的人工智能正在飞速发展,而完全由 OpenAI、Midjourney、Google(Bard)这样的少数公司控制 AI 不免让人感到担忧。在这样的背景下,试图用创新性解决方案处理人工智能中心化问题、权力集中于少数公司的 Bittensor,可谓…

嵌入式开发网络配置——windows连热点,开发板和电脑网线直连

目录 电脑 WiFi 上网,开发板和电脑直连 使用场景 设置VMware虚拟机的网络配置 Ubuntu设置——版本18.04 ​编辑 windows设置 开发板设置 原因:虚拟机Linux移植可执行程序到开发板失败 最后发现虚拟机的Linuxping不通开发板 下面是我的解决方法 …

Flink Has Become the De-facto Standard of Streaming Compute

摘要:本文整理自 Apache Flink 中文社区发起人、阿里巴巴开源大数据平台负责人王峰(莫问),在 Flink Forward Asia 2023 主会场的分享。Flink 从 2014 年诞生之后,已经发展了将近 10 年,尤其是最近这些年得到…

IntelliJ IDEA Community(社区版)下载及安装自用版

IntelliJ IDEA Community(社区版)下载及安装自用版 估计是个开发都逃脱不了用IDEA的命运吧,这么好的软件,白嫖了好多年。感恩。 现在很多公司已经不让用商业版的破解版了,所以这里讲的是社区版。 区别: 商…

Redux与React环境准备、实现counter(及传参)、异步获取数据

环境说明: 一:说明 在React中使用redux,官方要求安装两个其他插件:Redux Toolkit和react-redux 1. Redux ToolKit(RTK) - 官方推荐编写Redux逻辑的方式,是一套工具的集合集,简化书写方式 (简化…

Coze在手,GPTsDALLE免费用

1. 关于Coze Coze 是一个应用程序编辑平台,旨在开发下一代人工智能聊天机器人。 你可以使用无代码创建各种类型的聊天机器人,并将其部署到各种社交平台和消息应用程序。 链接: Coze 2. Coze的特点 Coze有5个特点。下面由我来详细介绍一下!…

Redis GEO地理信息定位功能

GEO Redis 提供了GEO地理信息定位功能,地理空间项(经度、纬度、名称),实现查找附近的人、上班打卡、自行车租赁、摇一摇等相关与地理位置信息的功能。 Redis 地理空间索引可让您存储坐标并搜索它们。 此数据结构对于查找给定半径…

SQL进阶理论篇(十五):数据库的慢查询定位

文章目录 简介数据库服务器的优化步骤使用慢查询使用explain使用show profile参考文献 简介 本节的主要内容如下: 数据库服务器的优化分析步骤是怎样的?如何用慢查询日志查找执行慢的SQL语句?如何使用explain查看SQL执行计划?如…

MySQL数据库 视图

目录 视图概述 语法 检查选项 视图的更新 视图作用 案例 视图概述 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存…

DshanMCU-R128s2 RTOS 使用说明

使用串口访问设备 使用USB TypeC 连接线连接开发板 USB转串口 的接口,安装串口驱动程序:CH341SER.EXE 到设备管理器找到需要的串口,这里是 COM8 使用串口访问工具 PuTTY 打开串口,这里是 COM8,波特率 115200。 打开之后…

【redis笔记】

Redis简介 安装步骤 Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型: 字符串string ​ 哈希hash 适合存储对象 列表list 按照插入顺序排序,可以有重复元素 集合set 无序集合,没…