angular2+ 集成系统利用服务作为模块通信中间件

模块间通信的话angular2+可以使用@Input() 和 @Output()进行父子组件间通信

例如
父组件html

<app-input-output [item]="currentItem" (deleteRequest)="crossOffItem($event)">
</app-input-output>

子组件ts

export class ItemDetailComponent {@Input() item = ''; // decorate the property with @Input()
}

但是这种方式在多层父子组件情况下会变的非常困难因为可能需要因为一次通信而管理每个模块中的该变量,在集成系统中更无法实现因为不同项目之间无法进行通信

这里的话提供一个解决方案的思路,即编写一个公共项目,这个公共项目作为“依赖(node_module)”引入各集成项目中,作为通信中间件,公用工具库与公用样式库,组件库

在这种情况下我们仅需要在公共项目中定义一个服务,例如

@Injectable({ providedIn: 'root' })
export class PublicService {status: 'open'
}

在集成系统中引入该依赖中的该服务进行公用变量的获取与操作即可

import { PublicService } from 'publicModule';```
constructor( public publicService: PublicService) {// 若获取不到可能需要进行异步处理 settimeout,因为组件同时加载settimeout(() => {console.log('publicService', this.publicService.status);// todothis.publicService.status = 'close';}, 500)
}

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

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

相关文章

【IDEA查看一个jar包的依赖】

首先install,打jar包 重新创建一个项目 选中刚才的jar包 在这个包下就能看到jar包的依赖了

ES SearchAPI----Query DSL语言

文章目录 Getting Startedmatch_all查询全部sort排序from\size分页_source指定字段 match匹配查询match_phrase短语匹配multi_match多字段匹配range范围查询bool复合查询must必须匹配&#xff0c;可贡献得分must_not必须不匹配&#xff0c;可贡献得分should可有可无&#xff0c…

AnkiPDF Guru软件评测:打开全新学习方式的大门

在当今信息爆炸的时代&#xff0c;如何高效学习和记忆成为了每个人关注的焦点。AnkiPDF Guru软件作为结合了Anki和PDF的学习利器&#xff0c;向我们展示了一种全新的学习方式。本文将以软件的实用性和使用场景为切入点&#xff0c;从专业的角度客观分析和评测该软件&#xff0c…

VB.NET 中使用SqlConnection类连接到Microsoft SQL Server数据库的详细步骤

目录 前言: 过程: 1.建立SqlConnection连接 2.打开SqlConnection连接 3.关闭SqlConnection连接 4.执行SqlCommand命令 5.传递参数 总结: 前言: VB.NET的SqlConnection是一个用于连接到SQL Server数据库的类。在VB.NET中&#xff0c;SqlConnection是一个很重要的类&…

听GPT 讲Rust源代码--library/std(1)

std git:(master) ✗ tree.├── Cargo.toml├── benches│ ├── hash│ │ ├── map.rs│ │ ├── mod.rs│ │ └── set_ops.rs│ └── lib.rs├── build.rs├── src│ ├── alloc.rs│ ├── ascii.rs│ ├── backtrace│ │…

Mysql主从集群同步延迟问题怎么解决

主从复制 复制过程分为几个步骤&#xff1a; 主库的更新事件(update、insert、delete)被写到binlog 从库发起连接&#xff0c;连接到主库。 此时主库创建一个 binlog dump thread&#xff0c;把 binlog 的内容发送到从库。 从库启动之后&#xff0c;创建一个 I/O 线程&#xff…

TensorFlow和Pytorch两种机器学习框架的比较及优缺点

TensorFlow是一个开源的机器学习框架&#xff0c;由Google开发并发布&#xff0c;它被用来构建各种类型的机器学习模型&#xff0c;例如图像识别、语音识别、自然语言处理等。TensorFlow主要有以下几个基本概念&#xff1a; Tensor&#xff1a;TensorFlow中最基本的数据结构&am…

Pillow库(PIL)入门教程

Pillow库&#xff0c;PIL的升级版&#xff0c;一个免费开源的Python图像处理库。 Pillow 库&#xff08;有时也称 PIL 库&#xff09; 是 Python 图像处理的基础库&#xff0c;它是一个免费开源的第三方库&#xff0c;由一群 Python 社区志愿者使用 Python 语言开发而成&#…

创建Secret(手动)

和创建其他类型的 API 对象&#xff08;Pod、Deployment、StatefulSet、ConfigMap 等&#xff09;一样&#xff0c;您也可以先在 yaml 文件中定义好 Secret&#xff0c;然后通过 kubectl apply -f 命令创建。此时&#xff0c;您可以通过如下两种方式在 yaml 文件中定义 Secret&…

数字化营销如何推动企业营收增长?数字化营销要点有哪些?

在数字化席卷而来的时代&#xff0c;企业若想在激烈的市场竞争中脱颖而出&#xff0c;就得紧跟潮流&#xff0c;运用数字化营销手段更快、更准地触达目标客户&#xff0c;从而帮助企业更好地解读客户需求&#xff0c;捕捉痛点&#xff0c;实现精细化营销闭环。 数字化营销如何让…

经典卷积神经网络 - GoogLeNet

GoogLeNet是google推出的基于Inception模块的深度神经网络模型&#xff0c;在2014年的ImageNet竞赛中夺得了冠军&#xff0c;在随后的两年中一直在改进&#xff0c;形成了Inception V2、Inception V3、Inception V4等版本。 Inception块 4个路径从不同层面抽取信息&#xff0…

java版opencv之Javacv各种场景使用案例

文章目录 1.关于Javacv~~2. [官网下载最新OpenCV4.8](https://opencv.org/releases/)&#xff0c;并解压~~ *不一定要安装opencv*~~3. 将opencv的jar包及动态库dll文件引入项目~~4.pom引入javacv库5.测试5.1 图片美颜5.2 图片人脸检测5.3 提取视频中的语音5.4 音视频剪辑5.5 录…

python关于当前时间戳的获取及时间运算

日期和时间在计算机编程中是非常重要的概念&#xff0c;特别是在处理数据、日志记录、计划任务等方面。Python作为一门功能强大的编程语言&#xff0c;提供了丰富的库和内置函数&#xff0c;使得对日期和时间的操作变得简单而高效。本文将介绍一些常见的Python日期时间操作&…

shell脚本实战案例--系统服务脚本

目录 1、源码编译安装nginx 2、分别编写基于RHEL6和RHEL7的脚本。 2.1 RHEL6的nginx系统服务脚本 2.2 RHEL7的nginx系统服务脚本 1、源码编译安装nginx 1.首先关闭防火墙和selinux [rootnode13 ~]# systemctl stop firewalld [rootnode13 ~]# setenforce 0 2.准备环境&…

阿里云核心产品list

计算&#xff1a; 01函数计算&#xff08;Function Compute&#xff09;全托管serverless计算服务&#xff0c;不需要管理服务器等基础设施&#xff0c;只需要编写代码并上传。 02云服务器&#xff08;Elastic Compute Service&#xff09;云计算服务 03GPU云服务&#xff08;G…

java类的动态加载

java类的动态加载 java动态加载的机制&#xff1a; ClassLoader->SecureClassloader–>URLClassLoader–>AppClassLoader loadClass–>findClass(重写方法)–>defineClass(从字节码加载类) 初始化的时候会加载静态代码块 实例化的时候会加载构造代码块、无参构…

45.Redis核心数据结构实战与高性能原理剖析

Redis五种常用数据结构 #redis-cli查看帮助命令 help stringstring 应用场景 //单值缓存 Test public void redisString() throws JsonProcessingException {Jedis jedis pool.getResource();// for (String key : jedis.keys("*")) {// …

单片机设计_RTC时钟(ACM32F403)

一、电路设计 ACM32F403开发板 实现结果&#xff1a;通过串口发送每秒的时间 二、运行结果 三、部分代码 #include "APP.h"UART_HandleTypeDef Uart_Handle;/********************************************************************************* * Function …

Banana Pi BPI-W3(Armsom W3)RK3588开当板之调试UART

前言 本文主要讲解如何关于RK3588开发板UART的使用和调试方法&#xff0c;包括UART作为普通串口和控制台两种不同使用场景 一. 功能特点 Rockchip UART (Universal Asynchronous Receiver/Transmitter) 基于16550A串口标准&#xff0c;完整模块支持以下功能&#xff1a; 支…

gRPC之gateway集成swagger

1、gateway集成swagger 1、为了简化实战过程&#xff0c;gRPC-Gateway暴露的服务并未使用https&#xff0c;而是http&#xff0c;但是swagger-ui提供的调用服 务却是https的&#xff0c;因此要在proto文件中指定swagger以http调用服务&#xff0c;指定的时候会用到文件 prot…