angular7 service存储组件间的传值 取值的时候获取不到的问题

在service中放存取的方法:

存储的属性:personalInfo

 public personalInfo: any = {
    applicationNum: '',
    status: 0,
    name: ''
  };

  constructor(private http: HttpClient, private router: Router) { super(); }

  setPersonalInfo(value: any) {
    this.personalInfo = value;
    console.log(this.personalInfo);
  }

  getPersonalInfo() {
    console.log(this.personalInfo);
    return this.personalInfo;
  }
组件一中 存:
 const data = {
      applicationNum,
      status,
      name
    };
    this.mgTodoService.setPersonalInfo(data);
    console.log(this.mgTodoService.getPersonalInfo());
组件二中 取:
this.mgTodoService.getPersonalInfo();
console.log(this.mgTodoService.getPersonalInfo());
但是取的时候发现取不到:

因为虽然调用了同一个service但是 这两个组件不是在同一个模块下,并且更重要的是这个service在share.module.ts中引入了,造成了这个服务不是单例模式的,因此在组件二中获取时取到的是新的service的值,将share中引入的去掉就可以

在这里插入图片描述
加上订阅者模式:
https://segmentfault.com/a/1190000011425280

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值