angular - ANGULAR 8 - 如何传递json里面的json数据
问题描述
在角度 8 中,我传递数据的 json 格式就像
{
"name": "",
"address": {
"line1": "",
"pincode_id": ""
}
}
我创建格式以传递数据以提交表单
Format() {
let data = this.Form.controls;
let ctofclass = new type();
ctofclass.name = data['name'].value;
ctofclass.line1 = data.address['line1'].value;
ctrofclass.pincode_id = data.address['pincode_id'].value.id;
return ctofclass;
}
class type {
name: string;
line1: string;
pincode_id:any;
}
当我使用这种格式时,如何传递 json 内部的 json 数据
我在下面的这一行中遇到错误:
ctrofclass.line1 = data.address['line1'].value;
core.js:6260 错误类型错误:无法读取未定义的属性“值”
地址在json内部以及如何传递数据以提交表单
解决方案
您需要将 address 设置为 formGroup 并将 line1 和 pinecode_id 设置为 formControls 或仅使用 pinecode_id 和 line1 作为单独的表单控件,如果 address 本身没有特殊值,则无需将它们分组到 address 内。
使用第二种解决方案的示例(最简单):
CustomFormControl = formbuilder.group({
name: [initialValue],
pincode_id: [address.pincode_id] // mapping is done here
line1: [address.line1]
})
然后您可以像这样访问表单值CustomFormControl.controls[name].value
推荐阅读
- javascript - 如何在 Vue.js 3 中制作自定义指令?
- ruby-on-rails - 嵌套属性、列计算和 where 语句
- flutter - 如何在颤动中将变量从一个类传递到另一个类
- algorithm - 如何优化两个列表的比较以减少更新次数
- asp.net - ASP.NET 4.8 功能在 IIS 8.5 (Windows Server 2012 R2) 中不可用
- reactjs - 反应 Mathquill 命令以使只读
- r - 从 Reactable 表中隐藏和禁用所有/无复选框并保持列对齐
- zapier - 拉/调用 Zapier 触发器的结果
- typescript - 如何满足在具有嵌套条件的 Firebase 云函数中返回承诺的要求?
- html - Nuxt 按页面更改图标