Observable类型上不存在'of'属性。

7

我正在开发一个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 S
当我尝试使用- import { of } from 'rxjs/observable/of'; 时,我遇到了一个错误-"Module '"eclipse:angular5-example/node_modules/rxjs/observable/of"' has no exported member 'of'." - N Sharma
1
你能做到这个吗 import { Observable, of } from 'rxjs';scope.fetchApi = of(data); 然后看看它是否有效? - Ajay S
1
我认为应该是 public getUsers() { return this.http.get <FetchApi[]> (this.fetchUrl); } - Ajay S
1
谢谢Ajay!现在它能工作了。 - N Sharma
显示剩余11条评论
2个回答

13

只需返回 of(data),而不是 Observable.of(data)


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接