angular - 此导入已列入黑名单,请改为导入子模块
问题描述
查询 1
下面是我的应用程序组件的导入部分,其中可观察到的导入使代码正常工作。
import {Component, OnDestroy, OnInit} from '@angular/core';
import { Observable } from 'rxjs/Rx';
import 'rxjs/add/observable/interval';
import 'rxjs/add/operator/take';
但是,IDE 将 ["rxjs/Rx" ] 显示为列入黑名单的用法,但它仍然使用浏览器控制台上的 Observable.interval(1000) 为我提供了所需的输出。为什么 IDE 说这是列入黑名单的用法 :( 虽然它有效!
查询 2
我尝试的初始代码如下,但它在控制台上抛出错误并且没有给我想要的间隔输出到控制台。
import {Component, OnDestroy, OnInit} from '@angular/core';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/interval';
import 'rxjs/add/operator/take';
控制台错误输出
rxjs_Observable__WEBPACK_IMPORTED_MODULE_1__.Observable.interval 不是 AppComponent.push../src/app/app.component.ts.AppComponent.ngOnInit (app.component.ts:15) 在 checkAndUpdateDirectiveInline (core.js:9250) 在 checkAndUpdateNodeInline ( core.js:10514) 在 checkAndUpdateNode (core.js:10476) 在 debugCheckAndUpdateNode (core.js:11109) 在 debugCheckDirectivesFn (core.js:11069) 在 Object.eval [as updateDirectives] (AppComponent_Host.ngfactory.js? [sm ]:1) 在 Object.debugUpdateDirectives [as updateDirectives] (core.js:11061) at checkAndUpdateView (core.js:10458) at callWithDebugContext (core.js:11351)
这是正确的方法,请求建议。
解决方案
- 首先,
Never import from rxjs/Rx, because it'll include every single operator, static method, scheduler, and utility that you probably don't need.
如果您不关心捆绑包的大小,则可以使用rxjs/Rx
. 你确定你只导入
Observable
一次。检查是否从主模块和子模块两次导入。您的项目可能正在访问其中一些global version
与添加方法Observable
不同的 Observable 。如果您不小心将两个版本的应用程序捆绑在一起,则可能会发生这种情况,一个是全局的,另一个是您在此处导入的。intervals()
'rxjs/add/observable/interval'
rxjs
如果它仍然不起作用,您可以尝试
interval
在模块中的静态上下文中导入。利用import { interval } from 'rxjs/add/observable/interval';
推荐阅读
- javascript - 类型 'xx' 不可分配给类型 'any[] | 可迭代
| >(可迭代 & 任何[]) | (任何[] & 可迭代 )' - oracle - 在 Oracle 19c 数据库中,当我们删除表时,使用该表的过程、触发器和索引会发生什么情况?
- javascript - jQuery contents() 与 'iframe' 一起使用时,文本在 firefox 中消失
- r - 包级设置或选项的约定?
- php - WordPress wp_dequeue_script 删除所有其他脚本
- google-cloud-platform - Cloud NAT 而不是分配静态外部 IP 地址?
- r - R如何翻转facet_grid行?
- c - 使用递归计算c中斐波那契数列的第n个元素的程序
- javascript - jQuery 使用 $(this) 作为 setInterval/setTimeOut 函数内的起点遍历 DOM?
- html - 固定位置导致我的标题被推到右边