Я пишу приложение Family Tree, и у меня возникают проблемы с подключением дочернего элемента с родителем динамически. Я продолжаю получать сообщение об ошибке, когда родитель не определен. Поскольку для создания родительской функции использовалась одна и та же функция, я теряюсь в том, как идентифицировать родителя, а не передавать его через имя переменной, когда функция снова вызвана.Неопределенный родительский объект
Огромное спасибо всем, кто может указать мне в правильном направлении. Я, очевидно, не очень хорошо разбираюсь в javascript.
Обновление: я смог решить проблему, назначив каждый вызов функции соответствующей переменной имен. Благодаря помощи @ Oriol ниже!
var rafael_bravo = addFamilyMember("rafael_bravo", "Rafael Bravo", "-", "-", "-", god, "GeneralPartner");
var calixta_otero = addFamilyMember("calixta_otero", "Calixta Otero", "-", "-", "-", rafael_bravo, "LimitedPartner");
var omar_bravo = addFamilyMember("omar_bravo", "Omar Bravo", "-", "-", "-", rafael_bravo, "LimitedPartner");
function addFamilyMember (child,name,dob,dod,img,parent,link) {
child = new primitives.orgdiagram.ItemConfig();
child.name = name;
child.birth = dob;
child.death = dod;
child.image = "includes/images/" + img + ".png";
child.templateName = "familyTemplate";
parent.items.push(child);
jQuery(".basicdiagram").orgDiagram("update", primitives.orgdiagram.UpdateMode.Refresh);
return child;
}
Вне темы: когда вы переопределяете 'child', элемент, который вы передали как аргумент, не будет отличаться от функции, поэтому аргумент' child' бесполезен. – Oriol
Вы говорите * та же самая функция была использована для создания родительского *, но я так не думаю. 'parent' - это просто аргумент, который может быть неопределенным. – Oriol
@Oriol - Вот чего я боялся ... Как бы вы это исправили? – ojbravo