gpt4 book ai didi

javascript - AngularJs - 在 标签的 onclick 事件上调用 $scope 函数

转载 作者:行者123 更新时间:2023-11-28 14:53:40 24 4
gpt4 key购买 nike

我是 JS 和 AngularJs 的新手。在我的 Controller 中,我有以下代码:

      angular.forEach(resData, function(file) {
$('.shelfgallery').append('<div class="responsive"><div class="gallery">' + '<img id="img' + fotoId + '" src="' + file + '" alt="Shelf Image" width="100" height="100" onclick="openImg(' + fotoId++ + ')"></img></div></div>'); });

如您所见,在事件“onClick”上 onclick="openImg(' + fotoId++ + ')" ,我调用openImg函数:

function openImg(id) {
var url = $('#img' + id).attr("src");};

一切正常,但我需要将 JS 函数“openImg”定义为 $scope 中的函数因为这样我就可以做很多事情,比如httppost。如何更改我的代码,使我的函数成为 $scope 的一部分,并且我可以从标签 <img> 调用它?

已更新我尝试使用Pengyy解释的方式,这是我的代码:

              angular.forEach(resData, function(file) {

var element = angular.element($('.shelfgallery'));
element.html('<div class="responsive"><div class="gallery">' +'<img id="img' + fotoId + '" src="' + file +
'" alt="Shelf Image" width="100" height="100" ng-click="openImg('
+ fotoId++ + ')"></img>');
$compile(element)($scope)

});

最佳答案

在 Angular 中,您可以使用 ng-click 属性来触发事件或函数。

为您的 img 元素提供 ng-click 事件来代替 onclick 事件

<img ng-click="anyFunction()" src="" />

在您的 Controller 或 JS 中,提供范围变量上的函数

$scope.anyFunction = function(){
/// Do something
}

关于javascript - AngularJs - 在 <img> 标签的 onclick 事件上调用 $scope 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629178/

24 4 0
文章推荐: javascript - 在与字符串连接的数组中获取逗号
文章推荐: css - IE 中的背景图片太宽
文章推荐: css - 可拉伸(stretch)/可扩展的垂直对齐文本(相对于图像)
文章推荐: javascript - 使用jquery加载页面时如何按升序显示