Đây có lẽ là một cách khác để bạn đạt được điều này. Vượt qua vào thị cả chỉ số và các mục và để cho các thiết lập chỉ thị html trong một mẫu:
Demo: http://plnkr.co/edit/ybcNosdPA76J1IqXjcGG?p=preview
html:
<ul id="thumbnails">
<li class="thumbnail" ng-repeat="item in items" options='#my-container' itemdata='item' index="$index">
</li>
</ul>
js chỉ:
app.directive('thumbnail', [function() {
return {
restrict: 'CA',
replace: false,
transclude: false,
scope: {
index: '=index',
item: '=itemdata'
},
template: '<a href="#"><img src="{{item.src}}" alt="{{item.alt}}" /></a>',
link: function(scope, elem, attrs) {
if (parseInt(scope.index) == 0) {
angular.element(attrs.options).css({'background-image':'url('+ scope.item.src +')'});
}
elem.bind('click', function() {
var src = elem.find('img').attr('src');
// call your SmoothZoom here
angular.element(attrs.options).css({'background-image':'url('+ scope.item.src +')'});
});
}
}
}]);
Bạn có thể sẽ tốt hơn khi thêm một ng-click vào hình ảnh như được chỉ ra trong một câu trả lời khác.
Cập nhật
Liên kết cho bản demo không chính xác. Nó đã được cập nhật thành: http://plnkr.co/edit/ybcNosdPA76J1IqXjcGG?p=preview
Bạn có thể đăng một số mã mà bạn đã thử không. – lucuma
Bạn có nói rằng bạn muốn kích hoạt sự kiện nhấp qua mã không? Tại sao bạn muốn làm điều đó? – tamakisquare
Tôi đang cố gắng hiển thị hình ảnh trong danh sách. Tôi muốn hiển thị hình ảnh đầu tiên theo mặc định khi trang tải. Xin vui lòng xem plunker dưới đây. Tính đến bây giờ tôi đang làm điều đó bằng cách sử dụng chức năng thời gian chờ jQuery mà không phải là giải pháp tối ưu, nhưng cần phải thay đổi đó để angularjs. http://plnkr.co/edit/CVnp9FKcIMr7GoSpfcoX – ayimos