Это другой подход, не ссылающийся на имя родительского объекта.
var parentObj = {
attr1: 1,
attr2: 2,
get childObj() {
var self = this;
return {
method1: function () {
return self.attr1 * self.attr2;
}
}
}
}
Доступ к нему можно выполнить так:
parentObj.childObj.method1(); // returns 2
Ответ 5
Возникает проблема с ссылкой на родительское имя объекта, потому что оно прерывает приложение в случае его переименования. Вот более удобный подход, который я использую широко, где вы передаете родительский элемент в качестве аргумента методу child init: