我正在尝试绘制一个表格和表单,以根据从服务器检索到的 json 对象将数据添加到页面上的所述表中。我收到一个未捕获的类型错误,无法弄清楚原因。
如果我控制台.log((对象,它会按预期在控制台中打印出来。我什至可以毫无问题地输出特定属性。但是当我尝试使用任何属性时,在 html 刺痛中,我得到"未捕获的类型错误:无法读取未定义的属性'formName'">
function testFunc(subform){
console.log(subForm.layout.formName); //<--- prints the name to the console
var form = '<div class="assetSubForm"><h2>' + subForm.layout.formName + '</h2>';
console.log(form); //<--- error's out???
return form;
}
对象如下:
{records: false, layout: {…}}
layout:
fields: (5) [{…}, {…}, {…}, {…}, {…}]
formID: 30
formName: "Part 11 - Building Clearance And Fire Appliances"
position: 120
__proto__: Object
records: false
__proto__: Object
我一辈子都无法理解为什么。我尝试在谷歌上搜索它,但结果是空的,因为我无法弄清楚如何在适当的搜索词中使用它,并且出现的所有结果都与范围或拼写错误有关(例如,在匿名函数中定义并在外部引用的对象(。
你的参数名称是 subform
,你在代码的其他部分引用subForm
。我假设在该范围内有一个可见的subForm
变量,但它的值会发生变化,因此根据您调用函数的时间,它有时不起作用。
您正在将参数视为subform
但您正在尝试访问subForm
console.log
请参阅代码的第 1 行和第 2 行。