微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 带角度JS的Slick Carousel

我在 AngularJS应用程序中使用 Slick转盘.为此我创建了如下指令:
myApp.directive('slickSlider',function(){
   return {
     restrict: 'A',link: function(scope,element,attrs) {
       $(element).slick(scope.$eval(attrs.slickSlider));
   }
  }
 });

这是我的视图文件中的代码

<div class="clearfix"  
  slick-slider="{dots: false,arrows: true,draggable: 
  false,slidesToShow:3,infinite:false}">
              <div class="my-slide">
                  <a><img ng-src="assets/img/img1.png"/></a>
              </div>
              <div class="my-slide">
                  <a><img ng-src="assets/img/img1.png"/></a>
              </div>
              <div class="my-slide">
                  <a><img ng-src="assets/img/img1.png"/></a>
              </div>
              <div class="my-slide">
                  <a><img ng-src="assets/img/img1.png"/></a>
              </div>
              <div class="my-slide">
                  <a><img ng-src="assets/img/img1.png"/></a>
              </div>
              <div class="my-slide">
                  <a><img ng-src="assets/img/img1.png"/></a>
              </div>
    </div>

在这种情况下,它正常工作正常并正确初始化.

但是当我使用ngRepeat动态创建幻灯片时,它不是初始化,而是一个一个显示幻灯片.

这是我的代码使用ngRepeat

<div class="clearfix"  
  slick-slider="{dots: false,infinite:false}">
      <div class="my-slide" ng-repeat="slide in slides">
         <a><img ng-src="assets/img/{{slide.img}}"/></a>
       </div>
 </div>

任何建议,我该如何解决

解决方法

我怀疑光滑的插件可能需要DOM被完全渲染才能正常工作.

尝试:

myApp.directive('slickSlider',function($timeout){
 return {
   restrict: 'A',attrs) {
     $timeout(function() {
         $(element).slick(scope.$eval(attrs.slickSlider));
     });
   }
 }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐