Задать вопрос
Mr_Vazovsky
@Mr_Vazovsky

Могут методы нескольких объектов ссылаться на одну и ту же внешнюю функцию?

Здравствуйте, друзья! Возникла одна проблемка, над которой ломаю голову уже длительное время.
createNewTask: function() {
            var _this = this;
            var task = new Task({
                title: _this.openedPopup.find(".task-title").val(),
                description: _this.openedPopup.find(".task-description").val(),
                id: _this.generateID.apply(this),
                deleteBtnClickHandler: _this.checkClickEvent.bind(this)
            });
            this.TaskListHolder.add(task);
            this.openedPopup.remove();
        },

checkClickEvent: function() {
            console.log("Yep! I'm working...)");
        },


В общем, все созданные таски пушатся в массив TaskListHolder.tasks. Проблема в том, что deleteBtnClickHandler срабатывает только у последнего объекта в массиве. То есть, например, если я добавил один объект таски, у него срабатывает кликхендлер, затем добавил еще один объект таски, у первого перестал работать, у второго работает и т.д. В чем может быть проблема?
  • Вопрос задан
  • 52 просмотра
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
kotovsky_art
@kotovsky_art
Software Engineer
Мало инфы, но на мой взгляд проблема в том, что вы неверно работаете с контекстом this. Используйте es6 синтаксис и стрелочные функции.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
25 дек. 2024, в 08:00
20000 руб./за проект
25 дек. 2024, в 07:53
20000 руб./за проект
25 дек. 2024, в 07:45
20000 руб./за проект