свойство объекта не определено, одна строка после console.log () 'd - PullRequest
0 голосов
/ 28 мая 2019

Я пытаюсь нарисовать таблицу и форму для добавления данных в указанную таблицу на странице на основе объекта json, полученного с сервера.Я получаю Uncaught typeError и не могу понять, почему.

Если я console.log () объект, он распечатывается в консоли, как ожидалось.Я даже могу вывести конкретные свойства без проблем.Но когда я пытаюсь использовать любое из свойств, В html-строке я получаю «Uncaught TypeError: Невозможно прочитать свойство 'formName' of undefined"

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

Я не могу на всю жизнь обернуться, почему.Я попытался найти его в Google, но ничего не нашел, так как не могу понять, как сформулировать его в соответствующем поисковом запросе, и все результаты, которые появляются, связаны с областью действия или орфографическими ошибками (например, объект, определенный в анонимной функции и на который есть ссылкаснаружи).

Ответы [ 2 ]

1 голос
/ 28 мая 2019

Ваше имя аргумента subform, вы ссылаетесь на subForm в других частях кода. Я предполагаю, что в этой области видна переменная subForm, но ее значение изменяется, поэтому в зависимости от того, когда вы вызываете функцию, она иногда не работает.

0 голосов
/ 28 мая 2019

Вы принимаете аргумент как subform, но вы пытаетесь получить доступ к subForm в console.log

см. Строку 1 и строку 2 вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...