Angular中非父子组件间是如何通讯的

技术Angular中非父子组件间是如何通讯的本篇内容介绍了“Angular中非父子组件间是如何通讯的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大

本文介绍了“Angular中非亲子组件如何沟通”的知识。很多人在实际案例的操作中会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

Angular中非父子组件间是如何通讯的

事实上,提到父组件和子组件之间的价值转移,我们很熟悉,这在业务实现中非常常见。

但是在实现的过程中,我涉及到了跨层次(即非父子组件之间的价值传递)。是的,我可以一层一层的向上传递,得到父组件中子组件的值。有没有更好的办法?

需求背景:

有一个子组件,可以理解为三级组件。该组件中有一个下拉框。单击某个li标记时,需要将相应的选定值传递给第一级组件。同时,第一级组件用接收到的值请求列表接口,然后刷新数据。

00-1010当时我就想过通过localstorage保存用户选择的值。在使用的组件中,我通过localstorage取出该值,并请求具有该值的接口。然而,它不可能是实时的。用户选择之后,并不会触发我从父组件获取数据,也就是如何通知父组件子组件中的值发生了变化。

最初思路:

Angular父组件和子组件通过服务来通讯

父组件及其子组件共享相同的服务,用于实现组件族内的双向通信。

服务实例的范围仅限于父组件及其子组件。此组件子树之外的组件将无法访问服务或与之通信。

技术点:

父组件及其子组件共享同一服务,用于在组件家族内部.实现双向通信

服务实例的范围仅限于父组件及其子组件。此组件子树之外的组件将无法访问服务或与之通信。

它是服务子组件和父组件之间的桥梁,因为服务可以很容易地注入到其他组件中,并且因为Subject对象可以向订阅这个对象的组件组播(传输)数据,所以通过组合Angular中的服务和rjs中的Subject,可以非常方便地实现组件之间的数据通信。

原理

使用以下代码在该子组件中创建服务文件:

从“@angular/core”导入{ injective };

从“rxjs”导入{ Subject };

@可注射({ 0

providedIn: '根'

})

exportclassheaderactorionservice {

publipagetenantmode=newSubjectstring();

//获取一个可观察的;

missionConfirmed $=this . page tenantmode . asobservable();

构造函数(){}

设置参数(参数){ 0

this . page tenant mode . next(params);

}

}子组件数据层调用上述方法传入值。

这个。tenantmodeservice.setparams()父组件调用place注入上述服务,代码如下:

headerModeservice . missionconfirmed $。订阅(

()={

this . mode=headermordeservice . page tenant mode;

this . inittabledata();

}

);以上就是《Angular的亲子成分如何在中国和非洲相互交流》的内容。感谢您的阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/93192.html

(0)

相关推荐

  • 如何用nmap对系统版本和服务版本的探测

    技术如何用nmap对系统版本和服务版本的探测如何用nmap对系统版本和服务版本的探测,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。接下来是关

    攻略 2021年12月9日
  • Hive数据如何导入导出mysql

    技术Hive数据如何导入导出mysql这篇文章给大家分享的是有关Hive数据如何导入导出mysql的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Hive定位:ETL(数据仓库)工具将数据从来源

    攻略 2021年12月10日
  • 张飞穿针的歇后语是什么,大眼瞪小眼”比喻什么意思

    技术张飞穿针的歇后语是什么,大眼瞪小眼”比喻什么意思有一次,张飞正要率军出发,却被 夫人叫住,拿出一根绣花针,一根红纱 线,非要张飞帮她把线穿上才能走。张飞听了哈哈大笑:“穿针引线,虽是 女人干的活,但也难不住我张飞穿针

    生活 2021年10月27日
  • ASP.NET Core Kestrel如何部署HTTPS

    技术ASP.NET Core Kestrel如何部署HTTPSASP.NET Core Kestrel如何部署HTTPS,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来

    攻略 2021年11月12日
  • Python编程题38--最长单词

    技术Python编程题38--最长单词 Python编程题38--最长单词题目
    给定一组单词words,请找出其中的最长单词,该最长单词是由words中其他单词逐步添加一个字母组成。若有多个长度相同的结

    礼包 2021年12月20日
  • dto与数据库交互(dto是展示层的数据还是服务层的)

    技术DTO服务实现中的核心数据是什么这篇文章将为大家详细讲解有关DTO服务实现中的核心数据是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 在一个Web服务的实现中,

    攻略 2021年12月18日