浅析Angular中非父子组件间怎么通讯
时间:2021-11-20
来源:互联网
标签:
今天PHP爱好者给大家带来Angular中非父子组件间怎么通讯?本篇文章给大家介绍一下Angular非父子组件之间通过服务通讯的方法,希望对大家有所帮助!

其实提到父子组件之间传值,对我们来说,再熟悉不过了,在业务实现过程中很常见。
但是我在实现的过程中涉及到跨级了(也就是非父子组件之间传值),是的,我可以一层一层地往上传递,在父组件中拿到子组件的传值,那有没有更好的方式呢?
需求背景:
有一个子组件,可以理解为第三级组件,该组件中有个下拉框,当点击某个li标签的时候,需要将相应选中的值传给第一级组件,同时,一级组件带着接收到的值请求列表接口,进而刷新数据。
最初思路:
当时想着通过localstorage将用户选中的值保存下来,在使用的组件中,再通过localstorage将值取出来,拿着该值请求接口;但是,无法做到实时,用户选中后,没有触发我在父组件中获取数据,也就是子组件中的值改变了,如何通知到父组件。
技术点:
Angular父组件和子组件通过服务来通讯
父组件和它的子组件共享同一个服务,利用该服务在组件家族内部实现双向通讯。
该服务实例的作用域被限制在父组件和其子组件内。这个组件子树之外的组件将无法访问该服务或者与它们通讯。
原理
父组件和它的子组件共享同一个服务,利用该服务在组件家族内部实现双向通讯。
该服务实例的作用域被限制在父组件和其子组件内。这个组件子树之外的组件将无法访问该服务或者与它们通讯。 服务是子组件与父组件之间的桥梁,因为服务可以很方便的注入到其它的组件当中,又因为Subject对象可以将数据多播(传递)给订阅了这个对象的组件,因此结合Angular中的service和Rxjs中的Subject可以很方便的实现组件间的数据通讯。
实现:
在该子组件中创建一个service文件,代码如下:
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class HeaderActionService {
public pageTenantMode = new Subject<string>();
// 获得一个Observable;
missionConfirmed$ = this.pageTenantMode.asObservable();
constructor() {}
setParams(params) {
this.pageTenantMode.next(params);
}
}
子组件数据层调用上述方法,将值传进去。
this.tenantModeService.setParams()
父组件调用的地方注入上述服务,代码如下:
headerModeService.missionConfirmed$.subscribe(
() => {
this.mode = headerModeService.pageTenantMode;
this.initTableData();
}
);
以上就是浅析Angular中非父子组件间怎么通讯的详细内容,更多请关注php爱好者其它相关文章!
-
USB Host接口有什么用?USB Host和USB Device接口的区别 时间:2025-12-16 -
HDMI怎么区分1.4和2.0?HDMI1.4和2.0的区别 时间:2025-12-16 -
com.android.phone已停止运行是什么意思?怎么解决? 时间:2025-12-16 -
4mp摄像头是多少像素?4mp和1080p有什么区别? 时间:2025-12-16 -
电脑出现normal.dotm错误怎么办?解决方法是什么? 时间:2025-12-15 -
normal.dotm在哪个文件夹里 如何删除normal模板 时间:2025-12-15
今日更新
-
禁漫JMComic永久入口链接-最新JMComic3.Mic官网地址一键直达
阅读:18
-
学科网登录入口-初中数学学科网官网登录入口
阅读:18
-
朋克是什么梗?揭秘年轻人反叛精神的网络新表达,一图看懂潮流文化内核
阅读:18
-
欧易信号类策略交易操作指南:新手必看步骤详解
阅读:18
-
瓦罗兰特如何修改地区-瓦罗兰特地区更改全流程
阅读:18
-
拷贝漫画繁体版下载-拷贝漫画繁体中文版安装入口
阅读:18
-
poki小游戏免费秒玩-官方入口网站链接
阅读:18
-
欧易跟单交易详解 新手如何快速上手跟单操作
阅读:18
-
poki小游戏免费秒玩直通入口-poki小游戏极速畅玩零等待入口
阅读:18
-
朋友梗是什么梗?揭秘网络爆火友情梗的出处和用法,让你秒懂年轻人社交黑话!
阅读:18










