2014-12-06 36 views
0

我在視圖是這樣的:如何來指稱特定的可變範圍,使用納克重複

<div ng-repeat="thread in threads"> 
    <div id="conversation-{{thread.id}}"> 
     <img src="{{ imageloader.image }}"/> 
    </div> 
</div> 

並且其中設置

imagesloader.image = 'path/to/image'; 

我控制器(ImageLoader的)函數只需要從所有盒子中僅引用特定的imageloader.image而不是所有的圖像加載器。因爲在這個時候(即我有10個div),並運行控制器功能,然後圖像顯示在重複的所有div。有任何想法嗎?

+1

你可以把代碼放入筆或jsfiddle嗎?我想我可以提供幫助,但我需要知道你在做什麼。你有10個div,所有這些都有一個圖像,所有圖像都可見。但是,您只希望在某些用戶操作中顯示一個圖像。是對的嗎? – Todd 2014-12-06 19:19:17

+0

你能否詳細說明你的問題?你想隱藏某些線程的圖像嗎?應在哪些條件下顯示圖像? – 2014-12-06 19:26:37

+0

@Todd激動不已,ng-repeat列表10個div,但在控制器中我想引用其中的一個(即第一個)和設置圖像,其他圖像應該是空的。 – 2014-12-06 19:31:47

回答

1

我希望我理解你的權利......

我認爲最好的解決辦法是添加圖像作爲財產線程陣列的路徑,然後用

替換此

<img src="{{ imageloader.image }}"/> 

<img src="{{ thread.imageProperty }}"/> 

現在,如果你想改變,或參考一個特殊的圖像,你可以得到,或設置你的數組圖像屬性,什麼也會影響你的網站上的可見圖像...

通過改變你的陣列可以獲取/設置特定的圖像這樣...

所以,你有一個「數據源」每幅圖像,而不是一個「數據源」爲所有圖像

0

也許你」現在我已經回答了你自己的問題,但我剛回到它,看看這是你需要的。

檢查了這一點: JS FIDDLE

HTML

<div ng-app ng-controller="ImageCtrl" ng-init="images = [ 
    {title: 'kitty 1', url: 'http://aasdfasdf.my.imadge/f1'}, 
    {title: 'kitty 2', url: 'http://aasdfasdfb.my.image/f1'}, 
    {title: 'kitty 3', url: 'http://aasdfasfffdf.my.imagde/f1'}]"> 
     <div ng-repeat="(imageIndex, image) in images"> 
      <p> 
       image: <i> {{image.title}} </i> 
       <a href="#" ng-click="showImage(imageIndex)">Show Image</a> 
      </p> 
      <img src="http://placekitten.com/g/200/200" ng-show="isShowing(imageIndex)" alt="{{image.title}}" /> 
     </div> 
</div> 

JS

function ImageCtrl($scope) { 
    $scope.activeImageIndex; 

    $scope.showImage = function(index) { 
     $scope.activeImageIndex = index; 
    }; 

    $scope.isShowing = function(index){ 
     return $scope.activeImageIndex === index; 
    }; 
}; 

應該是很容易...只是希望我理解正確。大聲笑。