Javascript 无法读取属性';邮政';在角度7中未定义的
我需要在angular 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);
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,然后从第一个真正的项目开始