Angular 2 找不到我的功能模块中声明的组件

2024-04-03

我很难让模块在 Angular 2 中工作。 我创造了a plunk http://plnkr.co/edit/gJup4zH7v4CoFNC8k5kZ?p=preview这说明了问题所在。 在 plunk 中,您会看到我有 app.module。该模块导入 app-common.module,其中包含一个用于显示页眉的组件。顶级组件的模板 app.component 包含该组件的选择器。 这是app.common.module:

@NgModule({
imports:[CommonModule, FormsModule],
declarations: [PageHeaderComponent]
})
export class AppCommonModule { }

这是应用程序模块:

@NgModule({
imports:      [AppCommonModule, BrowserModule],
declarations: [AppComponent ],
bootstrap:    [ AppComponent ]
})
export class AppModule { }

当应用程序运行时,它会抛出“ref-pageheader”不是已知元素的错误。如果我在 app.module 中声明该组件,它就可以正常工作。 那么,为什么我不能在导入到主 app.module 的模块中声明此组件?完成此操作后,Angular 似乎无法找到它。我究竟做错了什么?我错过了什么吗?


我想你应该像这样导出它:

@NgModule({
    imports:[CommonModule, FormsModule],
    declarations: [PageHeaderComponent],
    exports: [PageHeaderComponent]
})
export class AppCommonModule { } 

这样其他组件就可以使用该组件。

否则PageHeaderComponent只能在以下范围内使用AppCommonModule

也可以看看

  • https://angular.io/docs/ts/latest/guide/ngmodule.html#add-the-接触模块 https://angular.io/docs/ts/latest/guide/ngmodule.html#add-the-_contactmodule_

我们导出 ContactComponent,以便其他导入该组件的模块 ContactModule 可以将其包含在其组件模板中。

默认情况下,所有其他声明的接触类都是私有的

  • https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#!#q-what-to-export https://angular.io/docs/ts/latest/cookbook/ngmodule-faq.html#!#q-what-to-export

导出其他模块中的组件应声明的类 能够在他们的模板中引用。这些是你的公开课。 如果您不导出某个类,它将保持私有状态,仅对其他人可见 在此模块中声明的组件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 2 找不到我的功能模块中声明的组件 的相关文章

  • 元素不适应 Firefox 上的

    使用 ES6 ish D3js 模块运行 Angular 6 应用程序会导致 Firefox 出现问题 Chromium Chrome Safari 和 IE Edge 工作正常 伪代码看起来类似于 生产代码可以在下面找到
  • 没有导出的成员/节点模块

    我刚刚开始使用 5 分钟快速入门找到的 Angular 2 Typescripthere https angular io docs ts latest quickstart html 我遇到了一个看起来很常见的问题 但可能有点不同 我遇到
  • Angular 2+ 源代码中的 ɵ(类似 Theta)符号

    在深入研究 Angular 4 3 源代码后 我经常遇到 符号 例如 在异步管道源 https github com angular angular blob 4 3 2 packages common src pipes async pi
  • Angular 2 ngModel 不工作(仅限 javascript)

    所以我是 Angular2 javascript 的新手 我能够通过 5 分钟的 Angular 教程制作一个简单的 Hello world 我对 Angular2 的新变化很好奇 我开始阅读 Angular2 Js 文档 但我发现它不完整
  • Angular 2 重复标头

    使用时出现重复标头问题
  • 创建 AoT 兼容的服务工厂

    我正在尝试为缓存服务创建一个服务工厂 主要要求是每次可以使用不同的字符串实例化单个服务 最终的结果会有多个cache每个服务都由唯一定义databaseName 每个缓存可以有一个或多个stores也由唯一定义storeName 其他服务将
  • 使用 facebook 共享动态更新元标签 - Angular 6

    我需要动态更新元标记 如 og title og description 和 og image 并在 facebook 上共享相同的内容 我已经尝试了所有方法 但没有任何效果 首先 我尝试使用 javascript 设置元标记 如下所示 v
  • Angular 中多个相同的异步管道导致多个 http 请求

    在我的角度应用程序中 我使用异步管道多次渲染组件
  • Angular 2:基于环境导入服务

    根据 Angular CLI 项目中的当前环境导入服务的最佳 正确方法是什么 我已经设置了一个名为 dev mock 的新环境 我可以使用它来调用 ng serve environment mock 然后我使用 useClass 在模块中设
  • Angular 6 中的 Http 错误处理

    我正在尝试使用 Angular 6 中的以下类来处理 http 错误 我从服务器收到 401 未经授权状态 但我没有看到控制台错误消息 HttpErrorsHandler ts 文件 import ErrorHandler Injectab
  • Angular 5 Http拦截器刷新JWT令牌

    我已经实现了令牌保存 检索的逻辑 并且我也有刷新调用 问题是 当我在 HttpInterceptor 中拦截 403 时 同时进行的其他调用也会刷新令牌 我很乐意保留这些调用 直到我的令牌刷新为止 创建我所说的请求 信号量 Injectab
  • Angular Libraries Monorepo:是否可以为每个库使用不同的版本?

    只是一个简单的问题 我似乎找不到答案 我正在尝试构建一个应该能够使用 angular cli v8 的 monorepo 但仍然能够编译和构建为 v2 v3 v4 等制作的库 主要是组件和服务 版本之间发生了很多变化 所以让我们举个例子 V
  • 如何将窗口注入到服务中?

    我正在用 TypeScript 编写一个 Angular 2 服务 它将利用localstorage 我想注入对浏览器的引用window对象到我的服务中 因为我不想引用任何全局变量 例如 Angular 1 x window 我怎么做 这目
  • Angular - 如何解析 event.path 内的对象

    现在这是一个很难解释的复杂问题 我会尽力解释 我有一个弹出窗口 我想从中唯一地标识单击事件是来自弹出窗口内部还是外部 我的第一个方法 我用一个包住了整个弹出框div与id 说 独特 因此 我将单击事件与主机侦听器绑定 我将为其获取事件对象
  • Ionic 2 http.get() 问题

    我试着做一个http get 用这两个方法调用 First getResults return this http get http localhost api php toPromise then data gt data json 显示
  • 基于浏览器位置/设置的 Angular 2 Datepipe 格式

    有没有办法使 datepipe 动态化 以便如果它是美国浏览器 则 d atepipe 返回美国格式 yyyy MM dd 而当它是欧洲浏览器时 它返回欧洲格式 dd MM yyyy Thanks 这可能很困难 尤其是在使用 aot 时 它
  • Angular 8 输入验证仅接受数字

    我正在创建动态输入字段 它将接受所有类型值 我需要限制只输入数字 模板 tr tr
  • 无法读取未定义的“触及”属性

    为什么我会收到此错误无法读取未定义的属性 为什么无法读取formName controls email touched但它能够阅读formName get custDetails touched
  • 如何让 vsCode 了解自动补全的深度依赖导入?

    我创建了多个角度库 让我可以使用一堆组件更快地创建网站 例如 sidenav 卡片 我创建了一个 超级库 来导入所有这些库 这样我就可以使用npm i myWebsiteBundle立即下载所有依赖项 我已将每个类似的插件列入白名单ng p
  • 当选项卡索引更改时,mat-tab-group 滚动到页面顶部

    我有奇怪的行为mat tab group在角度材料中 当我更改选项卡索引时 它会将页面滚动到顶部 知道为什么吗 这是角度材料库中的一个已知错误 请参阅here https github com angular material2 issue

随机推荐

  • NiFi:ReplaceTextWithMapping 处理器

    我有以下插入语句 insert into temp1 values test1 test2 insert into temp2 values test3 预期成绩 insert into temp1 values 100 200 inser
  • 上传的音频文件无法在 rshiny 中播放

    我开发了一个应用程序 它采用 wav 文件作为输入并播放它 然而它似乎不起作用 另一方面 如果音频文件放置在 www 文件夹中并给出路径名 则可以正常播放 我究竟做错了什么 app R library shinydashboard ui s
  • datagridview vb.net 中特定单元格的单击事件

    我在 datagridview 中有一个单元格 它位于第 8 行第 2 列 该单元格和该单元格仅在单击时我想显示为另存为对话框 但实际上我可以让特定单元格发生单击事件 我该如何执行此操作vb net 在 dataGridView 事件 Da
  • 具有动态适配器的动态列表视图

    我想创建一个动态列表视图 它在滚动到初始列表末尾时添加动态元素 每次滚动位置到达上一个列表的末尾时 都应添加新项目 我怎样才能实现这个目标 谢谢 您需要添加一个滚动侦听器并覆盖onscroll
  • 在 LightningChartJs 中获取一系列的可见点

    存在一个函数LightningChartJs得到所有visible points来自图表中的线或点系列 如果我缩放图表 如果没有可用的可见点 我想显示一些内容 在某些情况下 我的数据会出现中断 现在我必须检查范围并过滤该范围内的所有点 但这
  • Spring 集成超时客户端

    我的 Spring 集成场景是 使用自定义协议发送数据的数十个生产者 大小和内容 我必须解码这个自定义协议 然后处理结果 所以我尝试了很多配置 目前最好的配置如下
  • 如何在不同身份下运行iisexpress应用程序池

    有没有办法以当前登录用户以外的不同身份运行 iisexpress 应用程序池 我目前正在使用 runas 命令解决这个问题 但我想知道 iisexpress 是否有内置的东西可以利用 看起来这应该是可能的 在 IIS Express 站点的
  • 如何在FabricJS中将旋转点位置更改为底部?

    How to change Rotating point position to the bottom see image below 这里是选择对象的配置控制点的链接指南 http fabricjs com fabric intro pa
  • 在 shell 脚本中执行 Vim 命令

    我正在编写一个 Bash 脚本 该脚本运行命令行程序 Gromacs 保存结果 修改输入文件 然后再次循环该过程 我正在尝试使用 Vim 修改输入文本文件 但在打开输入文件后 我无法找到从 sh 文件执行内部 Vim 命令的方法 例如 12
  • get_map 未传递 API 密钥(HTTP 状态为“403 禁止”)

    我一直在面临这个问题get map 功能 ggmap库 在 R 中 我的代码无需指定 API 密钥即可运行 例如source google 持续了几个月 然而 该代码在几周前停止工作 我了解到 Google 已强制要求 API 密钥 或者可
  • Linux C/C++ 在动态库中分配/释放内存

    我必须将我的应用程序分成几个逻辑模块 mainapp module1 so module2 so module3 so 等等 其中每个模块是一个 so库 将在运行时加载 每个模块共享相同的接口 并将返回一些数据数组 例如 int ptr m
  • 有没有一种方法可以在一行中从数组值设置对象键

    假设我有一个像这样的数组 const myArray HP QP PS 我想要一个对象 其键是myArray的值如 HP 0 QP 0 PS 0 有没有办法在一行中执行以下操作 const myObj myArray forEach ite
  • 是否有标准方法可以在编译时确定系统是 32 位还是 64 位?

    我需要设置 ifdef 检查条件编译 我想自动化该过程 但无法指定目标操作系统 机器 有什么方法可以让预编译器判断它是在 32 位还是 64 位上运行吗 解释 我需要定义一个 64 位大小的类型 在 64 位操作系统上它是一个 long 在
  • 在 Stylus 中访问 JavaScript 的原生数学库

    我最近问了一个问题是否可以用手写笔计算平方根 https stackoverflow com questions 21033346 得到这个问题的答案后 我想知道是否有一种方法可以完全访问 Stylus 中的 JavaScript 原生数学
  • 具有 3 个用户连接的 WebRTC

    我现在正在实施源代码WebRTC 示例 https github com webrtc samples tree gh pages src content peerconnection audio通过使用网状拓扑成为 3 个用户连接 但是
  • 为什么OutputStream存在write(int b)方法? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么 Java OutputStream write 接受整数但写入字节 https stackoverflow com questions 1407893 why java outputstrea
  • 我们如何检查表是否有索引?

    我们如何检查该表是否有索引 如果有如何找到表的特定列的索引 问候 库马尔 在 SQL Server Management Studio 中 您可以沿着树导航到您感兴趣的表并打开索引节点 双击该节点中的任何索引将打开属性对话框 其中将显示索引
  • 图像上沿折线/曲线的点的有序列表

    我有一些带有折线 多重曲线组合的图像 我的目标是恢复沿着这些折线 多重曲线的点的有序列表 使用 opencv ConnectedComponents 我可以隔离图像中的每条折线 曲线 然后尝试通过以下步骤获取有序的点序列 num label
  • With 函数中的多个对象表达式循环遍历所有工作表

    我有一个由两张表组成的 Excel 电子表格 Sheet1 and Sheet2 在每张纸上我都有一个Button 1 为了将此按钮移动到Range D9 E11 在两张表中 我使用以下 VBA 来引用解决方案here https stac
  • Angular 2 找不到我的功能模块中声明的组件

    我很难让模块在 Angular 2 中工作 我创造了a plunk http plnkr co edit gJup4zH7v4CoFNC8k5kZ p preview这说明了问题所在 在 plunk 中 您会看到我有 app module