Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取属性';邮政';在角度7中未定义的_Javascript_Angular_Typescript_Angular7 - Fatal编程技术网

Javascript 无法读取属性';邮政';在角度7中未定义的

Javascript 无法读取属性';邮政';在角度7中未定义的,javascript,angular,typescript,angular7,Javascript,Angular,Typescript,Angular7,我需要在angular 7中创建一个自定义验证 编写以下代码: CheckUserNameExisit(control: AbstractControl): { [key: string]: any } { console.log('in functions') return new Promise(resolve => { let httpClient: HttpClient; var userService = new UserService(httpClient);

我需要在angular 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);
}
checkUsername(项:Usernameexist):可观察{
console.log('go')
返回此.httpClient.post('https://localhost:44372/api/v1/User/FindbyName/",项目),;
}
但当我需要使用此验证时,它会显示以下错误:

错误错误:未捕获(承诺中):TypeError:无法读取未定义的属性“post” TypeError:无法读取未定义的属性“post” 在UserService.push../src/app/services/user.service.ts.UserService.checkUsername


有什么问题?如何解决此问题???

用户服务中,注入Httpclient

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

constructor(private http: HttpClient) { }

看起来您没有添加
HTTPClientModule

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 {}
还有你的服务。ts:

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

@Injectable()
export class YourService {
  constructor(private http: HttpClient) { }
}

这里出了很多问题。不要误会,但我建议先深入阅读javascript/typescript,然后阅读中列出的指南,然后阅读rxjs,然后从第一个真正的项目开始