Angular 6 upgrade: debounceTime is not property of Subject

前端 未结 4 1646
旧时难觅i
旧时难觅i 2021-02-19 08:06

I am attempting to upgrade my app from Angular 5 to Angular 6. I followed the steps on the https://update.angular.io/ At least i think i did.

The Error is :

<         


        
相关标签:
4条回答
  • 2021-02-19 08:31

    As of Angular 6.1.8, just need to import and add pipe like below example

    import {debounceTime} from 'rxjs/operators';

    Then on field just before the observable subscribe method call pipe(debounceTime(1000)) like below:

    emailControl.valueChanges.pipe(debounceTime(1000)).subscribe(value => this.setMessage(emailControl));

    And that's it, it's just a updated answers of @tiago's answer - where she is defining const debouncetime - we don't really need to use const and pipe.

    0 讨论(0)
  • 2021-02-19 08:44

    I solved it with the help of @Siva636 and @Andrew Lobban.

    I needed to use pipe:

      this.field$.pipe(
          debounceTime(400),
          distinctUntilChanged())
    
    0 讨论(0)
  • 2021-02-19 08:46

    i am sorry for the delay but i just get this problem today and fixed like this. i solve this issue like this: first import like this:

    import {debounceTime} from 'rxjs/operators';
    import {pipe} from 'rxjs'
    

    Then create a const like this (i tried to do directly without duplicating pipe but didn´t work so i found this solution):

    const debouncetime = pipe(debounceTime(1000));
    

    And then use it before you subscribe for example i was doing an email validator with messages:

    const emailControl = this.registerForm.get('email');
        emailControl.valueChanges
         .pipe(debouncetime)
         .subscribe(value => this.setEmailMessage(emailControl))
    

    dont know if its the best solutions but it works perfectly. I hope it helps some one!

    0 讨论(0)
  • 2021-02-19 08:47

    Following the reactivex docs, you should also subscribe to the pipe observable :

    .pipe(
        debounceTime(500),
        distinctUntilChanged(),
        map((val) => {
            ...
        })
    )
    .subscribe();
    

    An Observable is called a “cold” Observable if it does not begin to emit items until an observer has subscribed to it.

    0 讨论(0)
提交回复
热议问题