Ideal-Image-Slider-JS icon indicating copy to clipboard operation
Ideal-Image-Slider-JS copied to clipboard

Not working with AngularJS

Open salarelv opened this issue 10 years ago • 6 comments

I have dynamic list of images created by a AngularJS controller. After calling var slider = new IdealImageSlider.Slider('#slider'); the will be cleared and no img element is set. If I remove the constructor all images show up fine.

salarelv avatar Mar 16 '15 21:03 salarelv

Any headway here? I am also stuck here.

anupamme avatar Dec 15 '15 16:12 anupamme

The problem might be that you call var slider = new IdealImageSlider.Slider('#slider'); before the list has been added to the DOM. I assume you're using ngRepeat to create the elements. Use the $viewContentLoaded-event to run the slider-code when the ngRepeat has done its thing.

HTML:

<div id="slider">
  <img ng-repeat="slide in sliderCtrl.slides" src="{{slide.src}}" alt="{{slide.alt}}" />
</div>

JS:

.controller('SliderController', SliderController);

function SliderController() {
  var vm = this;
  activate();

 function activate() {
    $scope.$on('$viewContentLoaded', function() {
     $timeout(function() {
        var slider = new IdealImageSlider.Slider({
          selector: '#slider',
           ...
          });
         slider.start();
       });
    });
  } 
}

boyum avatar Mar 18 '16 16:03 boyum

Same problem here. Any solutions?

dmiranda2791 avatar May 26 '16 19:05 dmiranda2791

What have you tried?

boyum avatar May 26 '16 19:05 boyum

I tried listening to the viewContentLoaded event but it didn't work.

dmiranda2791 avatar May 26 '16 19:05 dmiranda2791

Simply running inside a timeout solved it for me...

setTimeout(initSlider);

SirFart4lot avatar Nov 21 '16 21:11 SirFart4lot