2

我使用引导程序传送带来滑过我从外部API引入的数据。 API数组中的第一个元素出现在传送带上,但是当我按下“下一个”或“上一个”箭头按钮时,屏幕闪烁,并且出现此错误:Uncaught TypeError: Cannot read property 'offsetWidth' of undefined如何修复引导程序传送带'offSetWidth'错误

这个错误是什么意思,我该如何解决?起初我认为这意味着它不能读取那些尚未存在的数据,因为API数据花费的时间过长,但这不可能是真实的,因为第一张幻灯片显示正常。

这里是我的html,如果有帮助:

<div id="myCarousel" class="carousel slide" data-ride="carousel"> 
    <!-- Indicators --> 
    <ol class="carousel-indicators"> 
    <li ng-repeat="item in slides" data-target="#myCarousel" data-slide-to="item" ng-class="{active : $first}"></li> 
    </ol> 
    <div class="carousel-inner" role="listbox"> 
    <div class="item" ng-class="{active : $first}" ng-repeat="item in slides"> 
     <img class="first-slide" ng-src="{{item.media[0]['media-metadata'][0].url}}" alt="First slide"> 
     <div class="container"> 
     <div class="carousel-caption"> 
      <h1>{{item.title}}</h1> 
      <p>{{item.main}}</p> 
      <p><a class="btn btn-lg btn-primary" href="#" role="button">Sign up today</a></p> 
     </div> 
     </div> 
    </div> 
    <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev"> 
    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> 
    <span class="sr-only">Previous</span> 
    </a> 
    <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next"> 
    <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> 
    <span class="sr-only">Next</span> 
    </a> 
</div><!-- /.carousel --> 

回答

1
<div id="myCarousel" class="carousel" ng-class="slides.length?'slide':''" data-ride="carousel"> 
<!-- Indicators --> 
<ol class="carousel-indicators"> 
    <li ng-repeat="item in slides" data-target="#myCarousel" data-slide-to="item" ng-class="{active : $first}"></li> 
</ol> 

我的回答可能为时已晚,但可以帮助别人谁在未来的需求。在class =“carousel slide”存在的第一行代码中,必须用class =“carousel”ng-class =“slides.length?'slide'替换:''”,它确保只有项目存在时才会添加幻灯片效果。