Я только что закончил небольшой проект Angular 2 и, сравнивая свою работу с модельным кодом ответа, я заметил, что когда я смотрел на провайдеров в файле app.module.ts
, преподаватель включал только одну из двух созданных служб.
users.service.ts
import { Component, Injectable } from '@angular/core';
import { CounterService } from './counter.service';
@Injectable()
export class UserService {
activeUsers = ['Max', 'Anna'];
inactiveUsers = ['Chris', 'Manu'];
constructor(private counterService: CounterService) {}
setToActive(id: number) {
this.activeUsers.push(this.inactiveUsers[id]);
this.inactiveUsers.splice(id, 1);
this.counterService.incrementInactiveToActive();
}
setToInactive(id: number) {
this.inactiveUsers.push(this.activeUsers[id]);
this.activeUsers.splice(id, 1);
this.counterService.incrementActiveToInactive();
}
}
counter.service.ts
(Используется в службе пользователей через @Injectable
)
export class CounterService {
activeToInactiveCounter = 0;
inactiveToActiveCounter = 0;
incrementActiveToInactive() {
this.activeToInactiveCounter++;
console.log('Active to Inactive Count:' + this.activeToInactiveCounter);
}
incrementInactiveToActive() {
this.inactiveToActiveCounter++;
console.log('Inactive to Active Count:' + this.inactiveToActiveCounter);
}
}
Теперь, заглянув внутрь файла app.module.ts
, он включаетcounter.service.ts
сервис, но не user.service.ts
сервис?
app.module.ts
providers: [CounterService]
Может кто-нибудь объяснить мне, почему он не включил оба?Большое спасибо.
РЕДАКТИРОВАТЬ - app.component.ts
для справки:
import { Component } from '@angular/core';
import { UserService } from './users.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [UserService]
})
export class AppComponent {
}