angular - 如何在角度 8 中从有效负载中访问单独的字段
问题描述
如何从有效负载访问单独的字段并与页面中的 HTML 绑定。我想获取 angular 8 中的字母代码和国家/地区名称。
这是我的组件:
this.table$ = this.productService.get(id)
.map(actions => {
const id = actions.payload.key;
const data = actions.payload.val();
return{id, data};
})
.subscribe(res =>{
this.table$ = JSON.stringify(res)
console.log("Value from Firebase "+this.table$)
return this.table$;
})
我在控制台中获得输出,但我想将数据与 HTML 页面分开绑定
{"id":"-MBMklQEALG_eIP2qF1T","data":{"alphacode":"200","countryname":"America","currencyname":"Dollar","numericcode":9111}}
我想将数据与字段绑定[(ngModel)]
<form #f="ngForm" (ngSubmit)="save(f.value)">
<div class="form-group">
<label for="countryname">Country Name</label>
<input #countryname="ngModel" [(ngModel)]="table$.countryname" name="countryname" id="countryname" type="text" class="form-control" required >
<div class="alert alert-danger" *ngIf="countryname.touched && countryname.invalid">
Country Name is required..!
</div>
</div>
<div class="form-group">
<label for="currencyname">Currency Name</label>
<input #currencyname="ngModel" [(ngModel)]="table$.currencyname" name="currencyname" id="currencyname" type="text" class="form-control" required >
<div class="alert alert-danger" *ngIf="currencyname.touched && currencyname.invalid">
Currency Name is Required
</div>
</div>
<div class="form-group">
<label for="alphacode">Alpha Code</label>
<input #alphacode="ngModel" ngModel name="alphacode" id="alphacode" type="text" class="form-control" required >
<div class="alert alert-danger" *ngIf="alphacode.touched && alphacode.invalid">
Alpha Code is required..!
</div>
</div>
<div class="form-group">
<label for="numericcode">Numeric Code</label>
<div class="input-group">
<span class="input-group-text">$</span>
<input #numericcode="ngModel" ngModel name="numericcode" id="numericcode" type="number" class="form-control" required>
</div>
<div class="alert alert-danger" *ngIf="numericcode.touched && numericcode.invalid">Price Required</div>
</div>
<div class="form-group">
<mat-radio-group aria-label="Select an option">
<mat-radio-button value="1">Active</mat-radio-button>
<mat-radio-button value="2">In-Active</mat-radio-button>
</mat-radio-group>
</div>
<button class="btn btn-primary">Save</button>
</form>
解决方案
const data = {
"type": "value",
"payload": {
"alphacode": "200",
"countryname": "America",
"currencyname": "Dollar",
"numericcode": 9111
}, "key": "-MBMklQEALG_eIP2qF1T"
}
const alphacode = data.payload.alphacode;
const countryname = data.payload.alphacode;
推荐阅读
- protractor - 右键单击并在量角器的新选项卡中打开
- vba - VBA 中 CommandButton 的 .caption 和 .text 属性有什么区别?
- vb.net - FormatNumber 用 0 替换数字
- android-architecture-components - View.findNavController() 与 Fragment.findNavController()
- neo4j - Neo4j 无法在 Windows 7 上启动(在 Windows 10 上正常)
- c - sigaction 将 SIGINT 传递给系统调用,但不传递信号
- codeigniter - 为什么 Codeigniter 使用分页在每个页面上显示相同的数据?
- google-apps-script - “com.au”字符串在脚本编辑器中显示为“(class)”
- twig - 条件模板继承在 Symfony 4 中不起作用
- websocket - 如何在 Google Kubernetes Engine 中设置 websocket