我想要一個網格圖像,點擊時圖像隱藏在網格中,並顯示在頂部。AngularJS ng-repeat ng-click
HTML:
<div ng-controller="imageCtrl">
<div class="row">
<img ng-show="selected" src="{{selected.img}}" alt="">
<p ng-show="selected">{{selected.des}}</p>
</div>
<div class="row">
<div ng-repeat="(id, image) in images" class="col-sm-4">
<a ng-click="clicked(id)"><img src="{{image.img}}" alt=""></a>
</div>
</div>
</div>
而且我的控制器:
light.controller('imageCtrl', function($scope){
$scope.images = [{img: '',des: ''},{img: '',des: ''},{img: '',des: ''}];
$scope.selected = $scope.images[0];
$scope.clicked = function(id){
selected = $scope.images[id];
};
});
當前顯示第一個圖像,但是當我點擊其他圖像時沒有任何反應。任何人有任何提示,我做錯了什麼?謝謝!
我不認爲你可以在'ng-repeat'的z'語法中使用'(x,y) - 而只需要在圖像中使用'ng-repeat ='圖像'',然後使用'$ index'變量,在'ng-repeat'中可用,作爲你當前'id'的替代。 – jraede
我在ng-click =「clicked($ index)」中使用$ index還是用在我的函數中? – user3621884
使用'clicked($ index)',在你的函數中你可以保持'id'原樣。 – jraede