ОШИБКА NullInjectorError: R3InjectorError(AppModule)[Номер -> Номер ->> Номер]: Ошибка NullInjectorError: Нет поставщика для номера

#html #angular #typescript #rxjs

Вопрос:

Я не совсем понимаю, что здесь происходит. Приложение работало нормально, затем я приступил к работе над ним и продолжал получать эту ошибку. Мой компилятор не показывает ошибок, и у меня нет никаких нулей в коде (или, по крайней мере, я так не думаю). Вот как выглядит консоль:

Выход на консоль Chrome

Любая помощь была бы здесь признательна. Я пытаюсь выучить TS, Angular и RxJS, так что все еще нуб. лол

Комментарии:

1. Что вводится в constructor BugDetailsComponent

2. constructor(public Bug_Number: number, public Bug_Name: string, public Created_By: string, public Detail: string, public Date_Started: number, public Date_Completed: number, public Date_Days_Worked: number, public Completed: string) { }

Ответ №1:

Мы вводим зависимости, используя constructor общие.

Прочтите это: https://angular.io/guide/dependency-injection

Ваш код должен быть

 //...
public Bug_Number: number, 
public Bug_Name: string, 
public Created_By: string, 
public Detail: string, 
public Date_Started: number, 
public Date_Completed: number, 
public Date_Days_Worked: number, 
public Completed: string
constructor() { }
//...
 

Обычно мы вводим услугу/класс, помечая их как вводимые с помощью @Injectable декоратора

Пример: Служба исправлений ошибок

 import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root',
})
export class BugService {
  constructor() { }
  // getBug()
  // getBugById(bugId: number)
  // addBug(Bug bug)
}
 

И впрысните его в такой компонент, как,

 constructor(bugService: BugService) { }
 

и получите доступ к ним в любом месте страницы, например this.bugService.getBugs()

Комментарии:

1. Я думаю, что, возможно, я неправильно объяснил проблему. Я пытаюсь передать вышеуказанные переменные из метода нажатия кнопки в этот класс, чтобы я мог ими манипулировать. Если я сделаю это так, как предлагается, как бы я импортировал их в класс? Теперь, когда я думаю об этом, может быть полезно ознакомиться с кодом. Вот GitHub: github.com/Zapakna/NewBugZapper.git