bxSlider - onSlideAfter - PullRequest
       30

bxSlider - onSlideAfter

0 голосов
/ 17 февраля 2020
paramsSlider = {
        slideWidth: 76,
        slideMargin: 10,
        minSlides: 1,
        maxSlides: 10,
        pager: false,
        controls: true,
        moveSlides: 5,

        onSlideAfter: function($slideElement, oldIndex, newIndex) {
            let count = Math.floor(this.getSlideCount()/5)-1;
        }
    };

как я могу получить значение moveSlides внутри функции onSlideAfter? если я попытаюсь подать заявку как this.moveSlides, я получу undefined

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

countSlides: 5; 
paramsSlider = { 
    slideWidth: 76, 
    slideMargin: 10, 
    minSlides: 1, 
    maxSlides: 10, 
    pager: false, 
    controls: true, 
    moveSlides: this.countSlides, 
    onSlideAfter: function($slideElement, oldIndex, newIndex) { 
        console.log(this.countSlides) 
    }, 
}

1 Ответ

0 голосов
/ 17 февраля 2020

Вы можете написать для него getter .

const paramsSlider = {
  slideWidth: 76,
  slideMargin: 10,
  minSlides: 1,
  maxSlides: 10,
  pager: false,
  controls: true,
  moveSlides: 5,
  get moveSlidesVal() {
    return this.moveSlides;
  },
  onSlideAfter: function() {
    let count = Math.floor(this.getSlideCount() / 5) - 1;
    count += this.moveSlidesVal;
    return count;
  },
  getSlideCount: function() {
    return 100; // sample value
  }
};

document.write(paramsSlider.onSlideAfter()); // 24 expected
...