【发布时间】:2014-08-22 18:53:00
【问题描述】:
我在我的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, arrows: true, draggable:
false, slidesToShow:3, infinite:false}">
<div class="my-slide" ng-repeat="slide in slides">
<a><img ng-src="assets/img/{{slide.img}}"/></a>
</div>
</div>
任何建议,我该如何解决?
【问题讨论】:
-
注意有一个 AnguarJS 插件 ui-carousel 可以在没有 jQuery 的情况下执行流畅的轮播。
标签: jquery angularjs carousel slick.js