2015-12-15 46 views
1

在我的視圖模型中,我有一個正好4個圖標名稱的數組。角度ng-repeat和連續圖像

如果我把4個圖像,像這樣:

<img ng-src="{{'/Content/img/' + vm.indicator[0]}}" alt="" /> 
<img ng-src="{{'/Content/img/' + vm.indicator[1]}}" alt="" /> 
<img ng-src="{{'/Content/img/' + vm.indicator[2]}}" alt="" /> 
<img ng-src="{{'/Content/img/' + vm.indicator[3]}}" alt="" /> 

根據需要它們很好地顯示在一行。

然而,當我使用

<div ng-repeat="indicator in vm.indicator track by $index"> 
    <img ng-src="{{'/Content/img/' + indicator}}" alt="" /> 
</div> 

它們出現下面對方。 (注意:因爲一些圖標具有相同的名稱,所以我需要「按$索引追蹤」位)。

我不明白。如果我只是在第一個代碼周圍放置一個空div,則什麼都不會改變爲什麼ng-repeat div會改變任何東西? 我該如何讓這兩個代碼片段的行爲相同?

這對我來說不是一個大問題,因爲我的數組中總是有4個圖標名稱。但是如果陣列的長度可變呢?

+1

有一兩件事你可以嘗試的方法是直接呈現的網址:'

{{ '/Content/img/' + indicator }}
'排除任何與變量/循環有關的問題。 – surjikal

回答

1

把NG-重複的img標籤,像這樣

<div > 
    <img ng-repeat="indicator in vm.indicator track by $index" ng-src="{{'/Content/img/' + indicator}}" alt="" /> 
</div> 

你不要讓多個div

+0

啊!您的評論爲我澄清了它。當使用ng-repeat時,每個圖像都放在它自己的div中。這就解釋了爲什麼他們都出現在自己的產品線上。謝謝。那個解釋就是我所追求的。你的代碼建議幾乎可以修復它,除了現在圖像之間沒有更多的空間,這當然很容易修復。 – hholtij

+0

@hholtij yea ng-repeat重複它所處的元素。 – EL3PHANTEN