Angular NgModule 中的 declarations 和 exports定义
我在app.component.ts的template文件里试图使用另一个Component时,遇到如下错误消息:
app-parent-child is not a known element:
在parent.module.ts定义里,检查exports区域里是否包含了selector app-parent-child对应的Angular Component:ParentChildComponent:
declarations: 定义了该NgModule的组成部分:Components, directives和pipe等。
imports:
module的imports里能导入其他module,这些被导入的module的declarations的Component也可以在发起导入的module里被使用了:
例子:
AppModule导入了ParentModule,因此其能使用后者export区域暴露的Component:
exports:
假设module A 导入了module B,则module A的declarations区域的所有Component,能使用module B的exports区域定义的Component:
父子关系有一种特点,当它在子池子找不到它的依赖性,它会去父池子里面找,这也解释了为什么在Module中Provider的东西,你在Module当中的Component也能用,而且在父组件中Provider的东西,子组件也能用。
The NgModule used for bootstrapping uses the root injector, and can provide dependencies to any part of the app.
也就是说,AppModule(引导 module )里注册的服务,能在该应用的任何位置被注入。
惰性加载的模块有自己的注入器,通常它是根注入器的一个子注入器。 惰性加载的服务,其作用范围局限于这个惰性加载模块的注入器。 如果惰性加载模块也提供了 UserService,则任何在该模块的上下文中创建的组件(比如通过路由导航)都会获得该服务的一个局部实例, 而不是根注入器中的全局实例。 而外部模块中的组件仍然会使用由它们的注入器提供的实例。
可声明对象必须属于也只能属于一个模块。 如果你尝试把同一个类声明在多个模块中,那么编译器就会报错。 要注意不能声明那些从其它模块中导入的类。
默认情况下,可声明对象是私有
的。 如果 ModuleA 不导出 UserComponent,那么只有这个 ModuleA 中的组件才能使用 UserComponent。
更多Jerry的原创文章,尽在:“汪子熙”:
Angular NgModule 中的 declarations 和 exports定义相关推荐
- Angular NgModule
NgModule 1,定义 NgModule 是一个带有 @NgModule 装饰器的类,代表一个模块. 2,作用 NgModule把组件.指令和管道打包成内聚的功能块,每个模块聚焦于一个特性区域.业 ...
- NgModule中的声明,提供程序和导入有什么区别?
本文翻译自:What is the difference between declarations, providers, and import in NgModule? I am trying to ...
- Angular NgModule 作用域相关问题
NgModule 是你使用 Angular 编写应用程序时遇到的第一个基本结构,但由于涉及不同的作用域范围,它也是最微妙和最复杂的.如果你想详细了解 NgModule 的相关知识,可以直接参考 Ang ...
- Angular 项目中的可摇树依赖 - Tree-shakable dependencies
Tree-shakable dependencies in Angular projects Tree-shakable 依赖更容易推理和编译成更小的包. Angular 模块 (NgModules) ...
- Angular项目中核心模块core Module只加载一次的实现
核心模块CoreModule在整个系统中只加载一次,如何实现? 创建core Modele:ng g m core 既然CoreModule是类,就有构造函数,在构造函数中进行依赖注入. export ...
- Ionic+Angular实现中英国际化(附代码下载)
场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...
- angular 动画_如何在Angular 6中使用动画
angular 动画 介绍 (Introduction) Animation is defined as the transition from an initial state to a final ...
- 如何在Angular 10中生成QR码
In this tutorial, we'll learn how to generate QR codes in Angular 10 by building a simple example ap ...
- 在Angular项目中引入NG-ZORRO
在Angular项目中引入NG-ZORRO 1.前置 2.安装NG-ZORRO并进行初始化配置 3.引入样式 4.引入组件 1.前置 首先创建一个angular项目:angular创建一个新项目的步骤 ...
最新文章
- 基于nodejs实现本地网页服务器-实现手机测试电脑开发的移动端网页
- 进入正在运行状态中的Docker容器
- python locust 能压测数据库_python locust 性能测试:HOOKS钩子方法
- 微软想将新版Edge浏览器引入Linux
- Oracle安装 - shmmax和shmall设置
- Python学习——02-Python基础——【9-面向对象进阶】——isinstance(obj,cls)、反射等...
- 性能优化(7):教你正确使用css选择器
- 监听mysql表内容变化 使用canal_2 监听mysql表内容变化,使用canal
- java基础-01基本概念
- 2020 Pwn2Own东京大赛落幕,Master of Pwn 诞生
- java rector_Java IO的Reactor模式
- Android入门笔记05
- 安卓(Android)的原生系统真的那么好用吗
- 长期性喝茶的好处和弊端
- 数据嗨客 | 第6期:不平衡数据处理
- objdump指令 elf文件转成lst文件
- JavaScript之封装Math函数
- JS返回前一页(或关闭本页面,返回首页)
- 吴恩达视频-第一门课第2周2.7、2.8节-计算图与使用计算图求导数
- 详解unity中tranform.worldToLocalMatrix
热门文章
- 最新Django2.0.1在线教育零基础到上线教程(十四)- 全剧终
- 用 Nginx 基于 Let's Engypt 免费证书打造快速安全的 HTTPS 网站
- 【bzoj3160】万径人踪灭
- Error Domain=NSURLErrorDomain Code=-999 The opera
- Wordcount on YARN 一个MapReduce示例
- 字节对齐《c和指针》笔记--包含位域结构体的内存对齐(32bit,GCC)
- 三层架构---理论篇
- Android内部自带的SQLite数据库操作dos命令
- [HDOJ5573]Binary Tree(找规律,贪心)
- 程序设计课程技巧小总结