@iordania

Как пофиксить создаваемый объект?

Всем привет!
создаю следующий класс:
class Form {
  constructor({ form }) {
    this.form = document.querySelector(form);
    this.fields = this.form.querySelectorAll(fields);
    this.init(this.fields);
  }

  init(fields) {
    fields.forEach((input) => {
      input.addEventListener("input", (e) => {
        this.changeInput(e);
      });
    });
  }
}

export default Form;

далее в индексовом файле, где собираюсь подключать все модули, делаю импорт класса и создаю объект с параметрам (селектор формы):
import Form from './Form';
window.addEventListener("DOMContentLoaded", () => {
const form= new Form({
  form: ".js-form",
})
});


И проблема в том что на страницах где селектор присутствует, ошибки нет, а где нет - сыпется такая ошибка:
5ed75768dc213799863975.png

Понимаю, что нужно сделать проверку но как это реализовать внутри конструктора не совсем понятно.
Как пофиксить ?
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
evgen3
@evgen3
Фронтэнды
стоит сделать проверку на наличие формы в конструкторе:
constructor({ form, fields }) {
  this.form = document.querySelector(form);

  if (this.form) {
    this.fields = this.form.querySelectorAll(fields);
    this.init(this.fields);
  }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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