Не удается прочитать свойство 'post' из неопределенного в angular7 - PullRequest
0 голосов
/ 13 июня 2019

Мне нужно создать пользовательскую проверку в угловых 7.

напишите этот код:

CheckUserNameExisit(control: AbstractControl): { [key: string]: any } {
 console.log('in functions')
 return new Promise(resolve => {
  let httpClient: HttpClient;
  var userService = new UserService(httpClient);
  let usernameExist: Usernameexist;
  usernameExist = userService.InitialUserNameExist();
  usernameExist.UserName = control.value;
  console.log(usernameExist.UserName)
  userService.checkUsername(usernameExist)
    .subscribe(data => {
      if (data.success == false) {
        console.log(data.success)
        resolve({ 'usernameExists': false });
      } else {
        console.log(true)
        resolve(null);
      }
    });
});
}

и это UserSerivce:

checkUsername(item: Usernameexist): Observable<GenericModel<Usermodel>> {
  console.log('go')
  return this.httpClient.post<GenericModel<Usermodel>>('https://localhost:44372/api/v1/User/FindbyName/', item);
}

но когда мне нужно использовать эту проверку, она показывает мне эту ошибку:

ОШИБКА Ошибка: Uncaught (в обещании): TypeError: Невозможно прочитать свойство 'post' из неопределенного Ошибка типа: не удается прочитать свойство 'post' из неопределенного по адресу UserService.push ../ src / app / services / user.service.ts.UserService.checkUsername

в чем проблема? как я могу решить эту проблему ??

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Похоже, вы не добавили HTTPClientModule. Как указано в документации Angular:

app.module.ts:

import { NgModule }         from '@angular/core';
import { BrowserModule }    from '@angular/platform-browser';
import { HttpClientModule } from '@angular/common/http';

@NgModule({
  imports: [
    BrowserModule,
    // import HttpClientModule after BrowserModule.
    HttpClientModule,
  ],
  declarations: [
    AppComponent,
  ],
  bootstrap: [ AppComponent ]
})
export class AppModule {}

и yourservice.ts:

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable()
export class YourService {
  constructor(private http: HttpClient) { }
}
0 голосов
/ 13 июня 2019

In userservice , введите Httpclient

import { HttpClient } from '@angular/common/http';

constructor(private http: HttpClient) { }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...