Angular 2 Нет провайдера для службы загрузки

0

Я уже читал подобные вопросы по этому поводу в StackOverflow, но они, похоже, не работают для моей ситуации. Я нахожусь в самой последней версии Angular.

Компонент погрузчика

import {Component, ElementRef, OnInit, OnDestroy} from '@angular/core';
import {CORE_DIRECTIVES} from "@angular/common";
import {LoadingService} from "../../services/global/loadingService";

@Component({
    selector: 'loader',
    directives: [CORE_DIRECTIVES],
    providers: [LoadingService],
    template: '
    <div class ="blue"></div>
    ',
})

export class LoadingComponent {
  public active: boolean;

  public constructor(spinner: LoadingService) {
    spinner.status.subscribe((status: boolean) => {
      this.active = status;
    });
  }
}

Услуги погрузчика

import {Injectable} from '@angular/core';
import {Subject} from 'rxjs/Subject';
import 'rxjs/add/operator/share';

@Injectable()
export class LoadingService {
  public status: Subject<any> = new Subject();
  private _active: boolean = false;

  public get active(): boolean {
    return this._active;
  }

  public set active(v: boolean) {
    this._active = v;
    this.status.next(v);
  }

  public start(): void {
    this.active = true;
  }

  public stop(): void {
    this.active = false;
  }
}

Моя ошибка: Ошибка: Неподготовлено (в обещании): Нет провайдера для LoadingService!

Любая помощь будет принята с благодарностью. Спасибо!

  • 0
    Вам не нужно перечислять CORE_DIRECTIVES . Они доступны по всему миру по умолчанию. Понятия не имею о вашей актуальной проблеме. Код выглядит хорошо.
Теги:
angular
service

1 ответ

0

Нет ничего плохого в коде, который вы разместили здесь. Я поместил его в свой проект, и он загружается без каких-либо проблем. Вероятнее всего, ваша проблема связана с вашей конфигурацией SystemJS или с какой-либо другой проблемой, которая предотвращает правильную загрузку приложения и, следовательно, не может решить, как ввести ваш LoadingService. Используйте инструменты Chrome dev, чтобы посмотреть на консоль, когда приложение загружается, и посмотрите, показывают ли вы какие-либо другие проблемы. В качестве альтернативы, разместите свой полный нерабочий пример где-нибудь, где мы можем увидеть весь код (например, Plunkr или JSFiddle).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню