Задать вопрос
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 срабатывает только у последнего объекта в массиве. То есть, например, если я добавил один объект таски, у него срабатывает кликхендлер, затем добавил еще один объект таски, у первого перестал работать, у второго работает и т.д. В чем может быть проблема?
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Простой 5 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
kotovsky_art
@kotovsky_art
Software Engineer
Мало инфы, но на мой взгляд проблема в том, что вы неверно работаете с контекстом this. Используйте es6 синтаксис и стрелочные функции.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы