我正在开发一个Angular5项目,其中需要使用http。我在这里使用observable,但是当我使用'of'时
scope.fetchApi = Observable.of(data);
然后它会给我一个错误提示:
Property 'of' does not exist on type 'typeof Observable'.
我已经导入了'rxjs/add/observable/of';
,但是仍然出现相同的错误。
我也尝试过import { Observable } from 'rxjs/Observable';
,但是它会抛出一个错误:
Module '"eclipse:angular5-example/node_modules/rxjs/Observable"' has no exported member 'Observable'.
您可以看到我的代码如下所示:
import { Component, OnInit } from '@angular/core';
import { UserService } from './app.service';
import { FetchApi } from '../models/fetch-api.model';
import { Router } from '@angular/router';
import { Observable } from 'rxjs';
import 'rxjs/add/observer/of';
@Component({
selector: 'app-fetch-api',
templateUrl: './fetch-api.component.html',
styleUrls: ['./fetch-api.component.css']
})
//
export class FetchApiComponent implements OnInit {
fetchApi: Observable<FetchApi[]>;
constructor(private router: Router, private userService: UserService) {
}
ngOnInit() {
const scope = this;
this.userService.getUsers()
.subscribe( data => {
scope.fetchApi = Observable.of(data);
//this.fetchApi = data;
});
};
}
请为此提供更多信息。
import 'rxjs/add/observable/of';
而不是import 'rxjs/add/observer/of';
。 - Ajay Simport { Observable, of } from 'rxjs';
和scope.fetchApi = of(data);
然后看看它是否有效? - Ajay Spublic getUsers() { return this.http.get <FetchApi[]> (this.fetchUrl); }
。 - Ajay S