简单地说,我有一个对象数组,[图像],我在Ng-repeat上显示得很好。当我单击一个div时,我想看到模板中单击的特定图像的“id”属性。
控制器中的功能:
angular.forEach(value, function (value, key) {
$scope.images.push({
id: i,
src: ("data:image/jpeg;base64," + value)
});
i = i + 1;
}
$scope.seeOne = function () {
console.log(image.id);
}
我的模板:
<div id="galscrolldiv" ng-repeat="image in images">
<div ng-click="seeOne()">
<img ng-src="{{images[$index].src}}" width="100%" />
</div>
</div>
答案 0 :(得分:2)
从视图/模板发送image
作为参数。然后,您可以访问所单击图像的图像属性。
您错过了)
的{{1}}。
控制器:
forEach
查看/模板:
angular.forEach(value, function (value, key) {
$scope.images.push({
id: i,
src: ("data:image/jpeg;base64," + value)
});
i = i + 1;
});
// Get the parameter i.e. image that is clicked
$scope.seeOne = function (image) {
console.log(image.id);
};
答案 1 :(得分:1)
您还可以从模板
发送$ index属性<div id="galscrolldiv" ng-repeat="image in images">
<div ng-click="seeOne($index)">
<!-- ^^^^^-->
<img ng-src="{{images[$index].src}}" width="100%" />
</div>
</div>
然后在控制器内
$scope.seeOne = function (index) {
console.log($scope.images[index].id);
};
但这可能会在使用过滤器时引起问题。 所以在使用过滤器的情况下避免使用$ index。