Свойство differentUntilChanged не существует для типа «Observable <Event>» - PullRequest
0 голосов
/ 11 октября 2018

Попытка обновления до версии Angular 6 из 5 и получение этой ошибки:

ОШИБКА в файле src / app / app.component.ts (26,23): ошибка TS2339: свойство «DifferentUntilChanged» делаетне существует в типе 'Observable'.

Я импортировал отдельныйUntilChanged в app.module.ts:

import "rxjs/add/operator/distinctUntilChanged";

И мой код в app.component.ts:

import { Component } from "@angular/core"; import { Router, NavigationEnd } from "@angular/router";
import { TranslateService } from "@ngx-translate/core";
import { GeoService } from "app/services/geo.service";
import { ArbeteService } from "app/services/arbete.service";
import { GoogleAnalyticsEventsService } from "app/services/google-analytics-events.service";

import * as _ from "lodash";

@Component({
    selector: "app-root",
    templateUrl: "./app.component.html",
    styleUrls: ["./app.component.scss"]
})
export class AppComponent {

        //Send pageview to Google Analytics
        router.events.distinctUntilChanged((previous: any, current: any) => {
        if (current instanceof NavigationEnd) {
            return previous.url === current.url;
        }
        return true;
    }).subscribe((x: any) => {
        googleAnalytics.emitVirtualPageView("Rekryteringsguiden", "Rekryteringsguiden");
    });

Что мне здесь не хватает?

Ответы [ 3 ]

0 голосов
/ 11 октября 2018

Для Angular 6 ваш синтаксис изменится для большинства операторов RxJS.

Чтобы импортировать его, используйте:

import { catchError } from 'rxjs/operators';

Но вызов должен быть заключен в pipe, вот так:

    router.events
        .pipe(
            distinctUntilChanged((previous: any, current: any) => {
                if (current instanceof NavigationEnd) {
                    return previous.url === current.url;
                }
                return true;
            })).subscribe((x: any) => {
                googleAnalytics.emitVirtualPageView("Rekryteringsguiden", "Rekryteringsguiden");
});
0 голосов
/ 11 октября 2018
import { distinctUntilChanged } from 'rxjs/operators';

router.events.pipe(distinctUntilChanged((previous: any, current: any) => {})).subscribe();
0 голосов
/ 11 октября 2018

из rxjs 5.5 импорт оператора

import { distinctUntilChanged } from 'rxjs/operators';
...