如何使用服务

时间:2019-06-14 07:35:30

标签: angular

我有一个反应形式,我订阅了onChangeValue方法来检测更改并将数据发送到我的服务,该服务的结果需要使用json数组中的字段进行更新,最后将该数组传递到带有* ngFor指令的模板。

我无法使用服务结果更新json字段。请帮忙。

我的数组是

this.array = [
{title:'cat', cost :this.cost},
{title:'dog', cost :6},
{title:'horse', cost :9}
]

从这样的服务中获取更新的价值。

    this.Form.valueChanges.subscribe((params) => {
      this.cost= this._service.getCost(params);
    });

在这里,我尝试使用数组中的cost字段更新this.cost。但这没有更新。有什么帮助吗?还是更好的方法?

https://stackblitz.com/edit/angular-svtlrk

1 个答案:

答案 0 :(得分:0)

您必须编辑数组的值。

this.array = [
 {title:'cat', cost :this.cost},
 {title:'dog', cost :6},
 {title:'horse', cost :9}
]

这里成本只分配一次。

array = []

  form = this.fb.group({
    cost: new FormControl(),
  });

  ngOnInit() {

    this.form.valueChanges.subscribe((param) => {
      console.log(param);
      this.array[0].cost = this.service.getCost(param.cost);
      console.log(this.cost);
    });

this.array = [
{title:'cat', cost :this.cost},
{title:'dog', cost :6},
{title:'horse', cost :9}
]
  }
}

尝试一下是否适合您。 还可以堆叠