A
A
avprinciple2019-07-06 15:22:25
JavaScript
avprinciple, 2019-07-06 15:22:25

An error occurred while calling the class. Uncaught TypeError: (intermediate value) is not a function?

There is such a class

class Slider {
  constructor(option) {
    this.slider = option.slider;
    this.slide = option.slide;
    this.prev = option.prev;
    this.next = option.next;
    this.indicator = option.indicator;
  }
}

const slider = new Slider({
  slider: document.querySelector('.text-slider'),
  slide: document.querySelectorAll('.text-slider__slide'),
  prev: document.querySelector('.text-slider__button--prev'),
  next: document.querySelector('.text-slider__button--next'),
  indicator: document.querySelector('.text-slider__indicator-index'),
});

slider();

When calling slider(), an error occurs:
script.min.js:formatted:106 Uncaught TypeError: (intermediate value) is not a function
    at Object.<anonymous> (script.min.js:formatted:106)

JS code after minification:
, function(e, t) {
    new class {
        constructor(e) {
            this.slider = e.slider,
            this.slide = e.slide,
            this.prev = e.prev,
            this.next = e.next,
            this.indicator = e.indicator
        }
    }
    ({
        slider: document.querySelector(".text-slider"),
        slide: document.querySelectorAll(".text-slider__slide"),
        prev: document.querySelector(".text-slider__button--prev"),
        next: document.querySelector(".text-slider__button--next"),
        indicator: document.querySelector(".text-slider__indicator-index")
    })() - на это указывает ошибку - Uncaught TypeError: (intermediate value) is not a function
}

Answer the question

In order to leave comments, you need to log in

1 answer(s)
Владимир Проскурин, 2019-07-06
@avprinciple

slider это объект, экземпляр класса Slider, а вы пытаетесь вызывать его как функцию. Вероятно, вы хотите вызвать метод slider, тогда пишите так
но опять же, через опции вы передаете не функции, а значения результата вызова функции querySelector. Поэтому, в slider.slider будет список элементов document.querySelector(".text-slider")

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question