Этот импорт занесен в черный список, вместо этого импортируйте субмодуль - PullRequest
0 голосов
/ 16 сентября 2018

Запрос 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 говорит, что это занесено в черный список :( пока он работает!

Query 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.debugUsdire as asD (activecore.js: 11061) в checkAndUpdateView (core.js: 10458) в callWithDebugContext (core.js: 11351)

Какой подход правильный, запрос предложения.

1 Ответ

0 голосов
/ 16 сентября 2018
  • Прежде всего, 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';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...