@swcalc

Как использовать this при двойной вложенности?

Здравствуйте, подскажите пожалуйста, получается такая ситуация.

var post = {
    preloader : surface.createPreloader(),
    edit : {
        // здесь мы без труда получаем this.preloader
        init : function (e) { 
            // а как быть здесь???
           // выдает undefined, при попытке вызвать
        },
        cancel : function (e) {},
        apply : function (e) {},
    }

};


Возможно-ли, вообще, получить там глобальную переменную? Или придется создавать отдельный экземпляр в каждом методе?

/// Airbnb

edit : {

init : () => {
    console.log(this.post_node);
},

cancel : function (e) {},

apply : function (e) {}

}


При вызове post.edit.init();
-----> undefined;

- Да, она, действительно, установлена выше )))
  • Вопрос задан
  • 199 просмотров
Решения вопроса 2
@GeraldIstar
Frontend
Стандартное решение:
var post = {
    preloader : surface.createPreloader(),
    edit : {
        var self = this;
        init : function (e) { 
            self.preloader();
        },
        cancel : function (e) {},
        apply : function (e) {},
    }

};
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы