Изменение содержания петли и динамического слайда в углу с помощью jquery swiper - PullRequest
0 голосов
/ 31 мая 2018

Мне нужно изменить содержимое после скольжения в angular. Я изменил значение моего объекта после скольжения. Но он не отображается в html. Может кто-нибудь, пожалуйста, помогите мне достичь этого. Ниже приведено мое событие jquery swiper

   var mySwiper = new Swiper('.swiper-container', {
      direction: 'horizontal',
      loop: true,
      speed: 700,
      replaceState: true,
      initialSlide: 1,
      centeredSlides: true,
      slidesPerView: 'auto',
      loopedSlides: 2,


      onSlideChangeStart: MoveToNextOrPrevious,
      mousewheelControl: false
    });


  function MoveToNextOrPrevious() {
  if (mySwiper != undefined) {      
 if (mySwiper.swipeDirection == "next") 
   {   self.Navigate('swiperight');
   }
   }
  }

В функции навигации я изменил значение моего объекта. Но оно не изменилось в html

Спасибо,

1 Ответ

0 голосов
/ 31 мая 2018

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

В вашем конструкторе вы можете ввести NgZone и затем вызвать zone.run с обратным вызовом

constructor(private zone: NgZone) { }

private MoveToNextOrPrevious() {
  this.zone.run(() => { /* your previous code */ });
}

Это должно запланировать запуск вашего кода в угловой зоне, и поэтому ваши изменения должны быть обнаружены обнаружением изменений.

Более подробно это объяснено в документации по NgZone .

...