2017-11-09 75 views
11

mam to bardzo prosty przykład, że używa pod wynajem operatora map z pipe z [email protected] :RxJs i operator wynajęcia ok `map`:„ta”kontekst typu„nieważny”nie przyporządkowuje się metodą jest„ten”typu„Obserwowalne <{}>”

import { map } from 'rxjs/operator/map'; 

let o = of(1, 2, 3, 4).pipe(
    map((v) => v * 2) 
); 

Ale to powoduje błąd Error:(34, 5) TS2684:The 'this' context of type 'void' is not assignable to method's 'this' of type 'Observable<{}>'. Na czym polega problem?

Odpowiedz

30

pod wynajem przykład podmiotom powinny być importowane rxjs/operators:

import { map } from 'rxjs/operators'; 

w przeciwieństwie do nie-wynajmowanej odpowiedniki, które zostały sprowadzone z rxjs/operator:

import { map } from 'rxjs/operator/map'; 

Więcej informacji na temat Operator wynajęcia ok następujący:

+0

dla innych, którzy mogą google tego: 'pierwszy' jest również do wynajęcia operator – LudvigH

+0

Dzięki! To utknęło mi przez wiele godzin, gdy próbowałem składników [demo] (https://material.angular.io/components/autocomplete/examples) materiałów kątowych. Importują 'mapę' z niedopuszczalnych odpowiedników – Bnrdo

+0

@Brrdo, tak, też byłem zdezorientowany. Powodzenia –