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


Posted in Javascript onJuly 04, 2017

前言

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

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

第一步:定义服务

parentService.ts

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

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

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

parent.module.ts

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

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

在父组件中使用服务

parent.component.ts

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

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

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

对应的父组件模版

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

在子组件中使用服务

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

childen.component.ts

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

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

对应的子组件模版

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

最终效果:

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

总结

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

Javascript 相关文章推荐
JavaScript中的new的使用方法与注意事项
May 16 Javascript
jquery $(document).ready() 与window.onload的区别
Dec 28 Javascript
jquery 与NVelocity 产生冲突的解决方法
Jun 13 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
Jan 29 Javascript
JavaScript入门基础
Aug 12 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
Aug 05 Javascript
老生常谈angularjs中的$state.go
Apr 24 Javascript
使用jQuery实现动态添加小广告
Jul 11 jQuery
使用jQuery实现购物车结算功能
Aug 15 jQuery
JavaScript实现的斑马线表格效果【隔行变色】
Sep 18 Javascript
layui 地区三级联动 form select 渲染的实例
Sep 27 Javascript
js实现点赞按钮功能的实例代码
Mar 06 Javascript
jQuery实现动态给table赋值的方法示例
Jul 04 #jQuery
Angular 2父子组件数据传递之局部变量获取子组件其他成员
Jul 04 #Javascript
Angular 4.X开发实践中的踩坑小结
Jul 04 #Javascript
jQuery操作DOM_动力节点Java学院整理
Jul 04 #jQuery
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 #jQuery
jQuery简介_动力节点Java学院整理
Jul 04 #jQuery
JS实现给json数组动态赋值的方法示例
Mar 19 #Javascript
You might like
PHP Token(令牌)设计
2008/03/15 PHP
PHP使用适合阅读的格式显示文件大小的方法
2015/03/05 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
checkbox全选所涉及到的知识点介绍
2013/12/31 Javascript
Bootstrap每天必学之简单入门
2015/11/19 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
2018/06/02 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
Python中的装饰器用法详解
2015/01/14 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
2017/09/06 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
总经理办公室主任岗位职责
2013/11/12 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
物业管理毕业生的自我评价
2014/02/17 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
副校长个人对照检查材料思想汇报
2014/10/04 职场文书
房屋租赁委托书范本
2014/10/04 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
法人身份证明书
2015/06/18 职场文书
结婚典礼致辞
2015/07/28 职场文书
OpenCV图像变换之傅里叶变换的一些应用
2021/07/26 Python
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers