如何使用Angular 6在其他组件中导航时(而不是在存储中)保存client_id

时间:2018-10-23 08:50:49

标签: angular typescript

要保存从一个组件传递到另一个组件时的值,请使用以下代码:

Service.ts:

 _data = new Map<string, any>();
  setData(key, value) {
    this._data.set(key, value);
  }

  getData(key) {
    return this._data.get(key);
  }

  clear() {
    this._data = new Map<string, any>();
  }

Component.ts

  let client_id = '';
    if (this.ss.getData('client_id')) {
      client_id = this.ss.getData('client_id');
    }

  this.addsale = this.fb.group({
       ...
      'client_id': new FormControl(client_id, Validators.required),
      ....
    });

  saveData() {
   this.ss.setData('client_id', this.addsale.get('client_id').value);
  }

此代码为我省了client_name。就像图片image中一样:

在这部分中,问题是当我有更多具有此名称的客户时。

如何在此代码中保存和client_id?

1 个答案:

答案 0 :(得分:0)

有很多方法可以将所需的任何值从组件传递到其他组件:

1. 使用@input
 2. 使用服务并设置为初始状态,您可以在以下情况下进行修改    您导航或您想要的任何逻辑
 3. 在路由器中使用参数
 4. 使用商店(Redux)