Как использовать сервис в компоненте?

Когда я ввожу UserService, тогда компонент не появляется. Когда я удаляю сервис из компонента, тогда компонент работает нормально

провайдеры в @NgModule

providers: [
    UserService,
    {
      provide:AuthServiceConfig,
      useFactory: getAuthServiceConfigs
    }
  ],

Сервисный код

@Injectable()
export class UserService {
    API_URL = environment.apiUrl;

    constructor(private http: HttpClient) { }

    getAll() {
        return this.http.get<User[]>(this.API_URL+"getAllUsers");
    }
}

Код компонента

export class UserRegistrationComponent implements OnInit {

  registerForm: FormGroup;
  submitted = false;
  newUser;
  userService: UserService;
   constructor(
        userService: UserService        
        ) 
       {
        config.backdrop = 'static';
        config.keyboard = false;
        this.userService=userService;
       }

  ngOnInit() {
      this.registerForm = this.formBuilder.group({
          emailId: ['', Validators.required],
          firstName: ['', Validators.required],
          lastName: ['', Validators.required],
          password: ['', [Validators.required, Validators.minLength(8)]]
      });
  }
}

person Amir Mujtaba    schedule 29.03.2019    source источник
comment
Привет и добро пожаловать! Не могли бы вы добавить больше информации? Есть ли ошибки в вашей консоли, IDE или при запуске рабочей сборки?   -  person    schedule 29.03.2019
comment
Зачем что-то изобретать, если везде можно найти правильный путь? Почему вы объявляете userService? Почему a , в провайдерах: [ UserService, {   -  person Vega    schedule 29.03.2019
comment
Возможный дубликат функции вызова службы Angular в компоненте   -  person Bhagwat Tupe    schedule 29.03.2019


Ответы (2)


export class UserRegistrationComponent implements OnInit {

  registerForm: FormGroup;
  submitted = false;
  newUser;
  // userService: UserService; remove this line
   constructor(
        userService: UserService        
        ) 
       {
        config.backdrop = 'static';
        config.keyboard = false;
       // this.userService=userService; remove this line
       }

  ngOnInit() {
      this.registerForm = this.formBuilder.group({
          emailId: ['', Validators.required],
          firstName: ['', Validators.required],
          lastName: ['', Validators.required],
          password: ['', [Validators.required, Validators.minLength(8)]]
      });
  }
}

если вы удалите закомментированные строки, а затем попробуете, это должно сработать. когда у вас есть параметр в конструкторе, он автоматически создает переменную для этого класса, поэтому вы можете использовать ее как this.userService.getAll()

person Barkha    schedule 29.03.2019

вы получаете экземпляр вашей службы в своем конструкторе следующим образом:

constructor(private userService: UserService){}

а затем вы можете использовать его следующим образом:

this.userService.getAll()
person RadekF    schedule 29.03.2019