我試圖從角,但面臨的問題地產「地圖」上的類型不存在「可觀察<Response>」
地產「地圖」上鍵入「可觀測」不存在
我去調用API通過這個鏈接,但問題依然存在。 Angular 2 beta.17: Property 'map' does not exist on type 'Observable<Response>'。我使用的角度2.0.0 beta.17
我試圖從角,但面臨的問題地產「地圖」上的類型不存在「可觀察<Response>」
地產「地圖」上鍵入「可觀測」不存在
我去調用API通過這個鏈接,但問題依然存在。 Angular 2 beta.17: Property 'map' does not exist on type 'Observable<Response>'。我使用的角度2.0.0 beta.17
您需要導入map
操作:
import 'rxjs/add/operator/map'
或者更一般地說:
import 'rxjs/Rx';
在我的情況下,將不夠只包括地圖和承諾:
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
我解決了這個問題,通過導入幾個rxjs組件作爲official documentation建議:
1)導入語句在一個應用程序/ rxjs-operators.ts文件:
// import 'rxjs/Rx'; // adds ALL RxJS statics & operators to Observable
// See node_module/rxjs/Rxjs.js
// Import just the rxjs statics and operators we need for THIS app.
// Statics
import 'rxjs/add/observable/throw';
// Operators
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/distinctUntilChanged';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/switchMap';
import 'rxjs/add/operator/toPromise';
2)進口rxjs運營商本身在服務:
// Add the RxJS Observable operators we need in this app.
import './rxjs-operators';
我覺得它不適合在每個服務中包含rxjs-operators,它應該只包含在app.module.ts中但不幸的是,ng測試拋出錯誤,如果運算符沒有導入特定的地方 –
我與Angular 2.0.1相同的問題,因爲我從
導入了Observableimport { Observable } from 'rxjs/Observable';
I解決從該路徑輸入可觀察我的問題,而不是
import { Observable } from 'rxjs';
,除了現在我們得到一個黑名單錯誤 –
這種做法被認爲不是捆綁大小友好的,因爲該語句導入'Observable'的所有運營商(包括你不喜歡的我們建議使用「可發佈的操作符」,這是介紹的內容。在RxJS v5.5中引入,以支持更好的抖動。 –
我使用角5.2,當我用import 'rxjs/Rx';
它拋出我下面的皮棉錯誤: TSLint:此導入黑名單,導入一個子模塊,而不是(進口黑名單)
SOLUTION: 通過解決它只導入我需要的運營商。示例如下:
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
因此,解決的辦法是隻導入必要的操作員。
我很高興我一直讀到底部。也許我應該開始使用TSLint。 – AndrewBenjamin
我輸入之後。它顯示更多的錯誤 –
你不幸運:-(這些錯誤是什麼? –
在擴充模塊名稱無效,模塊'../../Observable'無法找到。\t 屬性'map'在類型'Observable'上不存在。 –