【问题标题】:Property 'from' does not exist on type 'typeof Observable', angular 6?类型'typeof Observable'上不存在属性'from',角度6?
【发布时间】:2018-05-05 06:18:38
【问题描述】:

我将 Angular 5.2.10 项目更新为 Angular 6。
我一步一步做了https://update.angular.io/,一切正常,除非Observable.from
在一项服务中,我使用了Observable.from(this.user),如下所示:

import { Observable } from 'rxjs/Observable';
...
Observable.from(this.users)// this.users is an array

没问题,但是在 Angular 6 中出现以下错误

Property 'from' does not exist on type 'typeof Observable'

我改成如下

import { Observable, from } from 'rxjs';

但是没有再发生变化和错误!

【问题讨论】:

  • 您还可以使用 RxJs 的 TSLint 规则修复这些升级问题:npm i -g rxjs-tslintrxjs-5-to-6-migrate -p tsconfig.json

标签: angular angular-cli angular6


【解决方案1】:

在 rxjs@6 中,您可以使用 from 作为独立函数:

import { from } from 'rxjs';
...

from(this.users);

或

import { from as observableFrom } from 'rxjs';
...

observableFrom(this.users);

另请参阅迁移到 rxjs6 指南

【讨论】:

【解决方案2】:

无需修改现有代码,只需安装“rxjs-compat”包即可运行。

npm install rxjs-compat --save

【讨论】:

  • 你能告诉我是哪个文件夹吗?项目还是 node_modules?
  • 从项目根目录安装即可。
【解决方案3】:

这是从以前的 rxjs 版本更改为 rxjs6。 (RxJS v5.x to v6 Update Guide)

在 rxjs 6 之前

import { Observable } from "rxjs";

let numbers = [1, 5, 10];
let source = Observable.from(numbers);

与rxjs 6

import { from, Observable } from "rxjs";

let numbers = [1, 5, 10];
let source = from(numbers);

【讨论】:

    猜你喜欢
    • 2019-06-30
    • 2018-11-25
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多