我想實現ui-bootstraps傳送帶,但當頁面加載第一個圖像不顯示,但控件和指標。UI引導傳送帶第一張幻燈片不顯示,然後在最後一張幻燈片崩潰
然後,當第二個圖像顯示,我可以使用控件返回到第一個圖像,它會顯示罰款。我可以使用控件來到最後一張幻燈片或讓它自動滑動,但是當我到達最後一張幻燈片時,傳送帶停止工作,並給出錯誤「無法讀取未定義的屬性」幻燈片,該幻燈片指向ui的第576行-bootstrap-tpls.js文件。
不知道我在做什麼錯,因爲這似乎很容易實現,這裏是我的代碼,這裏是一個鏈接到一個網站的一個活生生的例子發生了什麼。
查看
<div class="slider">
<uib-carousel active="active" interval="3000">
<uib-slide ng-repeat="slide in home.slides track by slide.id" index="slide.id">
<img class="img-responsive" ng-src="{{slide.img}}" alt="{{slide.alt}}">
</uib-slide>
</uib-carousel>
</div>
控制器
.controller('HomeCtrl', function() {
var vm = this;
vm.slides = [
{id: "1", img: 'img/slider/customer.jpg', alt: 'customers'},
{id: "2", img: 'img/slider/juices.jpg', alt: 'e-juice'},
{id: "3", img: 'img/slider/lineup.jpg', alt: 'vaporizers'},
{id: "4", img: 'img/slider/vapeon.jpg', alt: 'vape on'}
];
};
*編輯
我試過了常規的bootstrap旋轉木馬,它工作正常。我可以用它來解決這個問題,但是我想知道我在用ui-bootstrap旋轉木馬做錯了什麼。
試圖改變你的代碼通過$指數slide.id,而不是使用軌跡跟蹤,並看看這是否有幫助。 –
@AlexChance這樣做了。非常感謝。我想知道爲什麼我的原始方法不起作用,因爲文檔是如何工作的。 –
這可能是你格式化你的ID的方式。我調試了你網站上的代碼,並看到這一行'angular.extend(q [s] .slide || {} .....'當我檢查's'時,它包含「4」,並且由於數組的幻燈片只有4個元素,最後一個元素是[3],這就是爲什麼它會拋出錯誤。也可以解釋爲什麼它不會立即顯示第一張幻燈片,如果它期望[0],並且您的第一張幻燈片ID爲「1」,使其成爲第二個元素 –