应用场景,不同组件中操作统一组数据,不论哪个组件对数据进行了操作,其他组件中立马看到效果。这样他们就要共用一个服务实例,是本次的重点,如果不同实例,那么操作的就不是同一组数据,那么就不会有这样的效果,想实现共用服务实例,就是在所有父组件中priviates:[]中引入这个组件,子组件中不需要再次引入,那么他们都是用的父组件中的服务实例。

1、公用服务

import {Injectable} from "@angular/core";@Injectable()
export class CommonService {public dateList: any = [{name: "张旭超",age: 20,address: "北京市朝阳区"}];constructor() {}addDateFun(data) {this.dateList.push(data);}
}

2、parent.component.ts

import {Component, OnInit} from "@angular/core";
import {CommonService} from "./common.service";// 这里要通过父子公用服务来操作数据,只需要在父组件中引入服务。
@Component({selector: "parent-tag",templateUrl: "parent.component.html",providers: [CommonService]
})
export class ParentComponent implements OnInit {public list: any = [];constructor(private commonService: CommonService) {this.list = commonService.dateList;}ngOnInit() {}
}

3、parent.component.html

<table width="500"><tr *ngFor="let item of list"><td>{{item.name}}</td><td>{{item.age}}</td><td>{{item.address}}</td></tr>
</table>
<child-one-tag></child-one-tag>

4、child-one.component.ts

import {Component} from "@angular/core";
import {CommonService} from "./common.service";@Component({selector: "child-one-tag",templateUrl: "child-one.component.html"
})
export class ChildOneComponent {public display: boolean = false;public username: string = "";public age: number = 20;public address: string = "";constructor(public commonService: CommonService) {}showDialog() {this.display = true;}hideDialog() {this.display = false;}addInfoFun() {let params = {name: this.username,age: this.age,address: this.address};this.commonService.addDateFun(params);params = {};}
}

5、child-one.component.html

<p-dialog header="弹窗" [(visible)]="display" [width]="300" appendTo="body" modal="modal"><form #myForm="ngForm" name="myForm"><p>姓名:<input type="text" name="username" [(ngModel)]="username" pInputText/></p><p>年龄:<input type="number" name="age" [(ngModel)]="age" pInputText/></p><p>地址:<input type="text" name="address" [(ngModel)]="address" pInputText/></p><button pButton label="确定" type="submit" (click)="addInfoFun()"></button><button pButton label="取消" (click)="hideDialog()"></button></form>
</p-dialog>
<button label="添加" pButton (click)="showDialog()"></button>

anguar4 共享服务在多个组件中数据通信相关推荐

  1. Linux系统应用 Centos7共享服务samba设置

    目录 实验:学会Centos7共享服务samba设置 实验目的:通过设置Samba服务器,您可以在CentOS 7上创建一个共享文件夹,并授予其他计算机或设备访问权限,以实现文件共享的目的. 实验步骤 ...

  2. Angular-在服务和组件中使用管道

    本文翻译自:Angular - Use pipes in services and components In AngularJS, I am able to use filters (pipes) ...

  3. linux中的nfs、iscsi共享服务

    nfs(Net File System),网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protoc ...

  4. Linux中samba共享服务的部署及安全优化详解

    samba共享服务的部署及安全优化 文章目录 samba共享服务的部署及安全优化 1.samba服务简介 2.samba基本信息 3.samba的安装与启用 a)windows下文件系统的共享 b)L ...

  5. 饿了么ui组件中分页获取当前选中的页码值_【Web技术】314 前端组件设计原则

    点击上方"前端自习课"关注,学习起来~ 译者:@没有好名字了译文:https://github.com/lightningminers/article/issues/36,http ...

  6. 解决问题的方法:构建业务中台的基础——共享服务体系

    回归SOA的本质---服务重用 如今比较火的微服务概念其实也是SOA方法经过演变后的另一种呈现方式而已. 正如上一篇文章中说的那样,当SOA在企业客户中落地时,几乎无一例外是通过搭建企业的ESB(企业 ...

  7. 企业IT架构—共享服务体系

    https://www.jianshu.com/p/1b462e965bad 企业IT架构-共享服务体系  兔龙象 关注 2018.01.05 17:53 字数 2044 阅读 1296评论 0喜欢 ...

  8. 【★更新★】高性能 Windows Socket 服务端与客户端组件(HP-Socket v2.0.1 源代码及测试用例下载)...

    HP-Socket 以前为某大型通信项目开发了一套通用 Windows Socket TCP 底层通信组件,组件代号为 HP-Socket.现在把 HP-Socket 的所有代码向大众公开,希望能对大 ...

  9. 网络共享服务(一)之FTP

    网络共享服务:ftp,nfs,samba比较 从跨平台角度说, samba, ftp差不多, 而nfs不支持windows平台 从挂载角度说, samba, nfs可以把远程目录挂载到本地目录上, 对 ...

最新文章

  1. UI培训分享:如何提升自己的UI设计能力
  2. MySQL 不完全入门指南
  3. 实战分析 RocketMQ事务消息
  4. ajax改变div内容,jquery ajax双击div可直接修改div中的内容
  5. 《走遍中国》珍藏版(五)
  6. 云计算系统是大规模计算机系统吗,云计算的系统架构及技术探析
  7. loop 伪设备 挂在文件系统
  8. Docker 从Dockerfile 构建镜像 :build 命令的用法
  9. 云端远程Ubuntu系统进行无桌面Web浏览器自动化测试
  10. VBS 打开图片-幻灯片形式
  11. HIve内置函数(functions)使用和解析
  12. Greenplum 集群部署
  13. c#使用私有构造方法
  14. python学习(四)----函数
  15. 发送HTTP请求返回415状态码的解决办法
  16. 四年级信息技术上册课本上类似于logo的绘图编程语言-GoC之不为人知的技巧
  17. vue-video-player 实现广告视频轮播和播放直播
  18. Spring AOP 之 通知、连接点、切点、切面
  19. 研究生的压力应对与心理健康 测试题答案
  20. SMART硬盘检测参数详解

热门文章

  1. docker 源码分析 三(基于1.8.2版本),NewDaemon启动
  2. 杨建:网站加速--系统架构篇
  3. 解决serv-u中文乱码的问题
  4. MEF体验使用接口导出的优越性
  5. 统计学习方法c++实现之二 k近邻法
  6. Web前端的状态管理
  7. “互联网+”时代,漫谈影响用户体验的X因素
  8. 安全问题推动企业采用托管和混合IT服务
  9. 使用appium时出现的问题
  10. [转载]树、森林和二叉树的转换