angular - Angular JS-一字段接受两种不同类型的数据(坐标字符串或地址字符串)
问题描述
对于 Angular 来说是全新的,并且刚刚开始充实一个输入框,该输入框根据图标的点击接受坐标或用户地址作为字符串。.ts 文件中的 getRequest() 方法需要确定用户输入的字符串类型 - 以便正确验证和设置 API 请求。我正在尝试通过单击图标添加动态 [ngClass],但无法真正从 .ts 文件中获取类名。如何访问元素的动态类名?我希望如果我可以检查输入元素设置的类,我会知道期望什么数据。还是我应该以不同的方式解决这个问题?谢谢。
HTML
<div class="locationOptions home"
(click)="showHomeCoords=!showHomeCoords;
homeAddressFromField.value=null;">
<i #homeIcon class="material-icons" *ngIf="!showHomeCoords">home</i>
<i #homeCrosshairIcon class="material-icons" *ngIf="showHomeCoords">my_location</i>
</div>
<mat-form-field formGroup='homeForm' name="myHome" class="half-width" appearance="outline" flex>
<mat-label>Home Address</mat-label>
<input type="text"
formControlName="homeInput"
[ngClass]="showHomeCoords ? 'coords' : 'address'"
matInput placeholder={{changeHomePlaceHolder()}}
#homeAddressFromField
required>
</mat-form-field>
.TS
@ViewChild('homeAddressFromField') homeAddressFromField : ElementRef;
detectCoordinateOrAddress(locationEntered:any){
let homeField = this.homeAddressFromField.nativeElement;
let a1: any;
if(homeField.querySelectorAll('.coords'){
a1 = this.isThisInputCoordinateGood(locationEntered)
}else{
a1 = parseAddress.parseLocation(locationEntered)
}
return a1;
};
getRequest(home:any){
let h = this.detectCoordinateOrAddress(home);
this.setRequest(h);
this.returnInfo(this.request);
}
解决方案
好的,我的建议在您的输入字段中,使用这样的变量
<input type="text"
formControlName="homeInput"
[ngClass]="homeCoordinates"
matInput placeholder={{changeHomePlaceHolder()}}
#homeAddressFromField
required>
并将变量设置为 .ts 函数中的正确类名。
或者,如果您真的想使用您提到的方式,请从 .ts 函数内部将变量 showHomeCoords 设置为 true / false
推荐阅读
- css - CSS 布局未正确对齐
- perl - 处理以数组形式发送的 POST 数据
- c# - 如何根据条件在 WinForms ComboBox 中设置 SelectedItem
- react-native - 如何在 app.js 文件中使用 mapStateToProps?
- angular - 输入字段的值更改时立即隐藏消息
- angular - 对于失败的基本身份验证方案,如何关闭浏览器自动打开的登录弹出窗口?
- laravel - 找不到模块:错误:无法解析“flag-icon-css”
- android - Flutter 和 Firebase:任务“:firebase_auth:compileDebugJavaWithJavac”执行失败
- java - 什么可以在没有初始化的情况下分配给 String ?
- dependency-injection - 在 .net 核心控制台应用程序中解决参考程序集中的依赖关系