2015-09-27 97 views
2

我寫了下面的代碼爲點擊NG重複的第一個元素,使它激活默認:默認點擊NG單擊angularjs

<ul id="thumbnails"> 
     <li ng-repeat="thumbnail in thumbnails | filter:query" ng-switch on='$first' data-ng-click="toggleObject.item = $index" > 
      <div data-ng-class="{'active' : toggleObject.item == $index}" ng-switch-when='true' ng-click="getHdImage(thumbnail.IMAGE_ID)"> 
       <img id="imageViewContainer" ng-src="{{thumbnail.PATH_SMALL}}"/> 
      </div> 
     </li> 
    </ul> 

控制器:

 imageView.getViewsByGroupId($stateParams.groupid) 
        .success(function(data) { 
         $scope.thumbnails = data; 
         $scope.toggleObject = {item: -1}; 
         console.log($scope); 
     }); 

所以我可以使用這個活動類來使背景顏色爲紅色。但默認點擊第一個元素不會發生。儘管點擊手動工作得很好。

我在做什麼錯在這裏。

+0

使用ng-repeats $ first代替。 https://docs.angularjs.org/api/ng/directive/ng重複 – toskv

回答

2

您可以使用$第一個作用域變量ng-repeat作爲您的作用域。

也可以使用ng-init進行一些初始化。

<ul id="thumbnails"> 
    <li ng-repeat="thumbnail in thumbnails | filter:query" data-ng-click="toggleObject.item = $index"> 
    <div data-ng-class="{'active' : $first}" ng-init="$first && getHdImage(thumbnail.IMAGE_ID)" ng-click="getHdImage(thumbnail.IMAGE_ID)"> 
     <img id="imageViewContainer" ng-src="{{thumbnail.PATH_SMALL}}" /> 
    </div> 
    </li> 
</ul> 

您可以檢查this小plunker該演示的吧。

+0

默認類爲$第一次正在發生,但默認點擊沒有發生,這實際上是我的關注。點擊我有一個函數來調用。 – user2696466

+0

你可以使用** ng-init **初始化一個屬性,我將其添加到該示例中。 :) – toskv

+0

是的,我試過了,它的工作,但我仍然無法理解ng-switch – user2696466