Angular 2父子组件之间共享服务通信的实现

发布时间 - 2026-01-11 02:10:21    点击率:

前言

如今的前端开发,都朝组件式开发模式靠拢,如果使用目前最流行的前端框架Angular和React开发应用,不可避免地需要开发组件,也就意味着我们需要考虑组件间的数据传递等问题,不过Angular 2已经为我们提供了很好的解决方案。

本文详细介绍了Angular2父子组件共享服务通信的相关内容,父子组件共享同一个服务,利用该服务实现双向通信,下面来看看详细的介绍:

第一步:定义服务

parentService.ts


1).这里用Injectable修饰这个类是一个服务,在其他用到地方只需要注入使用

(2).我们还定义了一个name变量并且初始化值,和一个公共的方法getData

parent.module.ts


我们这里把刚才创建的parentService服务依赖加进来,接着在provides中注册这个parentService服务,在ParentModule模块中注册之后,对于父组件和子组件来说都是指向同一个服务实例,而且这个服务的作用域只在当前这个模块中有效,这句话理解了,就等于理解了父子组件共享服务实现数据通信

在父组件中使用服务

parent.component.ts

导入parentService服务,在构造函数中声明注入parentService服务,因为我们在parentModule模块中,已经将parentService 通过provides注册过,所以我们在组件中不需要进行注册,直接可以使用,你可以这样理解,把当它想象成在模块的容器中已经存在了,只需要从容器中拿出来使用。

(1).这里我们定义了一个OnClick()方法,当页面点击事件触发,就会来调用parentService服务定义的方法getData()获取返回值,弹出返回值。

对应的父组件模版


在子组件中使用服务

因为共享的是同一个ParentService服务实例,所以我们在子组件中也可以调用个ParentService服务的方法,代码同上面用一样

childen.component.ts

 

这里同样定义了一个方法,用于测试调用parentService服务,代码实现跟上面一样,不在描述,

对应的子组件模版

 

最终效果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# angular2父子组件通信  # angular2  # 父子组件  # angular2父子组件通讯  # angular 组件通信的几种实现方式  # angular4 共享服务在多个组件中数据通信的示例  # Angular2 父子组件通信方式的示例  # angular中不同的组件间传值与通信的方法  # AngularJS控制器之间的通信方式详解  # angular + express 实现websocket通信  # 只需要  # 返回值  # 的是  # 都是  # 是一个  # 很好  # 相关内容  # 你可以  # 也就  # 这句话  # 数据通信  # 弹出  # 来看看  # 详细介绍  # 可以使用  # 只在  # 不可避免  # 拿出来  # 这篇文章  # 中也 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  如何在Windows环境下新建FTP站点并设置权限?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  JavaScript模板引擎Template.js使用详解  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  清除minerd进程的简单方法  如何在云主机上快速搭建多站点网站?  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  Laravel如何记录自定义日志?(Log频道配置)  LinuxShell函数封装方法_脚本复用设计思路【教程】  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel怎么在Blade中安全地输出原始HTML内容  iOS中将个别页面强制横屏其他页面竖屏  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  西安专业网站制作公司有哪些,陕西省建行官方网站?  php 三元运算符实例详细介绍  网站建设保证美观性,需要考虑的几点问题!  Laravel如何处理文件下载请求?(Response示例)  如何在香港免费服务器上快速搭建网站?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  Laravel如何处理和验证JSON类型的数据库字段  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  郑州企业网站制作公司,郑州招聘网站有哪些?  网站制作软件有哪些,制图软件有哪些?  北京的网站制作公司有哪些,哪个视频网站最好?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何在企业微信快速生成手机电脑官网?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  如何在建站主机中优化服务器配置?  原生JS实现图片轮播切换效果  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  🚀拖拽式CMS建站能否实现高效与个性化并存?  使用spring连接及操作mongodb3.0实例  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Android实现代码画虚线边框背景效果  海南网站制作公司有哪些,海口网是哪家的?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  如何用5美元大硬盘VPS安全高效搭建个人网站?  北京专业网站制作设计师招聘,北京白云观官方网站?  简历在线制作网站免费版,如何创建个人简历?  Python制作简易注册登录系统  如何快速完成中国万网建站详细流程?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  高端建站如何打造兼具美学与转化的品牌官网?  PHP正则匹配日期和时间(时间戳转换)的实例代码  黑客如何通过漏洞一步步攻陷网站服务器?