angular - 角度替换组件
问题描述
有一种情况是数据是从两个不同的组件发送的;假设OneComponent
并且TwoComponent
有一个ResultComponent
通过Input()
装饰器接收这些数据。此外,在ResultComponent
数据中使用OnChanges
接口合并:
ngOnChanges(changes: SimpleChanges) {
if (changes['dataFromCompTwo']) {
this.dataFromComp = this.dataFromCompTwo;
}
}
和数据显示在这个组件中,但组件被实例化了两次,数据是双倍的。如何检查数据是否已从其中一个组件发送并仅显示最后发送的数据?
STACKBLITZ => 我想只显示一次结果。
解决方案
这是组件间的通信。您应该使用此 Angular 文档页面中描述的技术之一。
我个人倾向于通过服务进行通信,因为组件根本不耦合:通信方法不依赖于它们包含在 DOM 中,因此您可以随意移动它们,它不会中断。
推荐阅读
- javascript - 正则表达式替换重复模式
- java - 使用 Jackson 将大量 JSON 响应反序列化为 POJO 的最有效方法是什么?
- visual-studio - 调试期间如何在每次更改时将文件复制到输出目录
- sql - 在 SQL 中为表中的一组行偏移日期时间数据
- go - 这个 rot13 密码有什么问题?
- node.js - 在本地主机之外的 AWS Lightsail 中访问 NodeJS 演示应用程序
- jenkins - Jmeter jenkins 不存储过去的构建结果
- android - 错误:不兼容的类型:字符串无法转换为 JSONArray
- .net - 即使在 linux/mac/windows 上,如何让 NuGet 包在安装时运行命令/逻辑?
- r - 如何在 forest_model 中将换行符添加到因子级别