查询1
以下是我的应用程序组件的导入部分,具有可观察到的导入,该片段使代码正常工作。
int t = 3;
System.out.print("This is what t is equals to " + t); //t will be 3
但是,IDE将[“ rxjs / Rx”]显示为已列入黑名单的用法,但仍可以使用浏览器控制台上的Observable.interval(1000)为我提供所需的输出。为什么IDE将此列为黑名单用法:(而有效!
查询2
我尝试的初始代码如下,但它在控制台上引发错误,并且没有向控制台提供所需的间隔输出。
import {Component, OnDestroy, OnInit} from '@angular/core';
import { Observable } from 'rxjs/Rx';
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 [作为updateDirectives](AppComponent_Host.ngfactory.js?[sm]:1) 在Object.debugUpdateDirectives [作为updateDirectives](core.js:11061) 在checkAndUpdateView(core.js:10458) 在callWithDebugContext(core.js:11351)
哪种方法正确,请提出建议。
答案 0 :(得分:1)
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
,这与intervals()
被添加到'rxjs/add/observable/interval'
方法中的可观察性不同。如果您不小心将两个rxjs
版本与应用程序捆绑在一起,则可能会发生这种情况,其中一个版本已在全球范围内发布,而另一个版本正在此处导入。
如果仍然无法正常运行,您可以尝试在模块的静态上下文中导入interval
吗?使用import { interval } from 'rxjs/add/observable/interval';