angularjs轮播图: ng-repeat 轮播效果就没有了,不用ng-repeat就能正常轮播。怎么解决?
<divid="myCarousel"class="carouselslide"><divclass="carousel-inner"interval="myInterv...
<div id="myCarousel" class="carousel slide">
<div class="carousel-inner" interval="myInterval">
<div class="item active" ng-repeat="item in thumb" >
<img ng-src="{{item.imgSrc}}" alt="First slide">
</div>
</div>
</div>
<script>
$(function(){
$('.carousel').carousel()
});
</script> 展开
<div class="carousel-inner" interval="myInterval">
<div class="item active" ng-repeat="item in thumb" >
<img ng-src="{{item.imgSrc}}" alt="First slide">
</div>
</div>
</div>
<script>
$(function(){
$('.carousel').carousel()
});
</script> 展开
展开全部
先告诉你产生这种现象的原因,主要是由于angular 加载dom的顺序不一样,在你轮播开始的时候,ng-repeat还没开始,所以轮播读取不到数据就没效果了。
解决办法:这种时候需要在控制器中先监听你ng-repeat里的数据,等到ng-repeat数据加载完成后再进行轮播的初始化就可以了,
scope.$watch($scope.thumb
,function(old,new){
if(new!=''||undefined) {
//执行轮播初始化
}
},true);
‘true'可不加,你可以看看$watch的使用方法
解决办法:这种时候需要在控制器中先监听你ng-repeat里的数据,等到ng-repeat数据加载完成后再进行轮播的初始化就可以了,
scope.$watch($scope.thumb
,function(old,new){
if(new!=''||undefined) {
//执行轮播初始化
}
},true);
‘true'可不加,你可以看看$watch的使用方法
追问
我ng-repeat是先上传图片,把上传后的图片进行轮播。
我加了个 repeat-finish="renderFinish()"在 repeat后面。但是感觉不管用、
您那有没有个实例传我参考一下。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询