只有在值更改(需要先初始化)后,Angular订阅才会起作用

问题描述 投票:0回答:2
  this.skusChangeSubscription = this.productForm.get('skus').valueChanges
    .pipe(debounceTime(600)).subscribe(skusValue => {
      console.log('SKUS: ', skusValue);
    ...
    ...
  });

我需要代码来直接直接运行此订阅方法一次,直到值更改为止。更改值后它可以工作,但订阅直到更改值后才起作用。订阅后,我需要运行一次。

javascript angular typescript rxjs subscribe
2个回答
1
投票

尝试一下:

this.skusChangeSubscription = this.productForm.get('skus')
    .pipe(take(1)).subscribe(skusValue => {
      console.log('SKUS: ', skusValue);
    ...
    ...
  });


0
投票

尝试使用startWith运算符

this.skusChangeSubscription = this.productForm.get('skus').valueChanges
  .pipe(
    debounceTime(600),
    startWith(0)
  )
  .subscribe(skusValue => {
    console.log('SKUS: ', skusValue);
  ...
  ...
});
© www.soinside.com 2019 - 2024. All rights reserved.