在升级到本机脚本-angular 5.0之后,我得到一个错误:属性'combineLatest‘在类型'Observable上不存在,似乎不可能再写: Observabel.combineLatest()
import { Injectable } from '@angular/core';
import { Headers, Http } from '@angular/http';
import "rxjs/add/operator/map";
import "rxjs/add/observable/combineLatest";
import { Observable } from 'rxjs/Observable';
import * as Config from '../../config';
@Injectable()
export class CountryService {
appSettings = require("application-settings");
constructor( private _apiEndpoints: Config.ApiEndpoints,
private _http:Http,
private _settings:Config.Settings) {
}
getPhonePrefix(): Observable<Object> {
return this._http.get(this._apiEndpoints.apiEndpoint + '/country/phone')
.map(res => res.json());
}
getCountryNameAndPrefix(): Observable<Array<Config.phonePrefix>> {
return this.getPhonePrefix().combineLatest(this.getCountryName(),
(phoneData, nameData) => {
let resultData:Config.phonePrefix[] = [];
Object.keys(nameData).forEach((key) => {
let resultItem:Config.phonePrefix = {
countrycode: key,
countryname: nameData[key],
countryprefix: phoneData[key]
};
resultData.push(resultItem);
resultData.sort((a,b) => {
if(a['countryname'] < b['countryname']) {
return -1;
} else {
return 1;
}
});
});
return resultData;
});
}
}发布于 2018-01-23 19:18:29
您没有调用静态combineLatest,因此您的导入应该是:
import "rxjs/add/operator/combineLatest";请注意,import使用operator而不是observable。
https://stackoverflow.com/questions/48399815
复制相似问题