angularjs不工作时的jquery图像缩放

angularjs不工作时的jquery图像缩放,jquery,angularjs,Jquery,Angularjs,我使用jquery wheelzoom实现图像缩放功能。它可以在没有角度的情况下工作,但在角度转发器中使用图像时不工作。EDIT 我终于通过指令让它工作了 说明:这是一个时间问题。当您在控制器内调用document.querySelectorAll时,此时只有一个图像可用(位于ng repeat外部的图像)。然后,ng repeat运行并向DOM添加更多图像-但他们还没有通过wheelzoom调用完成 我添加了这个指令,它直接访问DOM元素本身,并对其调用wheelzoom app.direct

我使用jquery wheelzoom实现图像缩放功能。它可以在没有角度的情况下工作,但在角度转发器中使用图像时不工作。

EDIT 我终于通过指令让它工作了

说明:这是一个时间问题。当您在控制器内调用
document.querySelectorAll
时,此时只有一个图像可用(位于ng repeat外部的图像)。然后,ng repeat运行并向DOM添加更多图像-但他们还没有通过wheelzoom调用完成

我添加了这个指令,它直接访问DOM元素本身,并对其调用
wheelzoom

app.directive('bsWheelzoom', function() {
  return {
    link: function(scope, elem, attrs) {
      wheelzoom(elem[0]);
    }
  }
})
HTML中的用法是

<div data-ng-repeat="d in data" style="width: 300px">
      <img class="imgInsideOfAngular" ng-src="{{d.img}}" alt="{{d.title}}" width="100%" bs-wheelzoom/>
    </div>
看这把小提琴:

编辑 我终于通过指令让它工作了

说明:这是一个时间问题。当您在控制器内调用
document.querySelectorAll
时,此时只有一个图像可用(位于ng repeat外部的图像)。然后,ng repeat运行并向DOM添加更多图像-但他们还没有通过wheelzoom调用完成

我添加了这个指令,它直接访问DOM元素本身,并对其调用
wheelzoom

app.directive('bsWheelzoom', function() {
  return {
    link: function(scope, elem, attrs) {
      wheelzoom(elem[0]);
    }
  }
})
HTML中的用法是

<div data-ng-repeat="d in data" style="width: 300px">
      <img class="imgInsideOfAngular" ng-src="{{d.img}}" alt="{{d.title}}" width="100%" bs-wheelzoom/>
    </div>
看这把小提琴:

编辑 我终于通过指令让它工作了

说明:这是一个时间问题。当您在控制器内调用
document.querySelectorAll
时,此时只有一个图像可用(位于ng repeat外部的图像)。然后,ng repeat运行并向DOM添加更多图像-但他们还没有通过wheelzoom调用完成

我添加了这个指令,它直接访问DOM元素本身,并对其调用
wheelzoom

app.directive('bsWheelzoom', function() {
  return {
    link: function(scope, elem, attrs) {
      wheelzoom(elem[0]);
    }
  }
})
HTML中的用法是

<div data-ng-repeat="d in data" style="width: 300px">
      <img class="imgInsideOfAngular" ng-src="{{d.img}}" alt="{{d.title}}" width="100%" bs-wheelzoom/>
    </div>
看这把小提琴:

编辑 我终于通过指令让它工作了

说明:这是一个时间问题。当您在控制器内调用
document.querySelectorAll
时,此时只有一个图像可用(位于ng repeat外部的图像)。然后,ng repeat运行并向DOM添加更多图像-但他们还没有通过wheelzoom调用完成

我添加了这个指令,它直接访问DOM元素本身,并对其调用
wheelzoom

app.directive('bsWheelzoom', function() {
  return {
    link: function(scope, elem, attrs) {
      wheelzoom(elem[0]);
    }
  }
})
HTML中的用法是

<div data-ng-repeat="d in data" style="width: 300px">
      <img class="imgInsideOfAngular" ng-src="{{d.img}}" alt="{{d.title}}" width="100%" bs-wheelzoom/>
    </div>
看这把小提琴:

以下是我的示例:最好将所有内容都包含在问题本身中,而不是包含在评论中。只需点击标签下的编辑链接。“没有角度,它可以正常工作”?wheelzoom可以正常工作,如果我没有使用ng repeat,但使用ng repeat,它不工作。请检查小提琴的例子。这有助于你理解我想说的话。但两个样本都不起作用?您的“不重复”示例显示了图像,但缩放也不起作用?以下是我的示例:最好将所有内容都包含在问题本身,而不是注释中。只需点击标签下的编辑链接。“没有角度,它可以正常工作”?wheelzoom可以正常工作,如果我没有使用ng repeat,但使用ng repeat,它不工作。请检查小提琴的例子。这有助于你理解我想说的话。但两个样本都不起作用?您的“不重复”示例显示了图像,但缩放也不起作用?以下是我的示例:最好将所有内容都包含在问题本身,而不是注释中。只需点击标签下的编辑链接。“没有角度,它可以正常工作”?wheelzoom可以正常工作,如果我没有使用ng repeat,但使用ng repeat,它不工作。请检查小提琴的例子。这有助于你理解我想说的话。但两个样本都不起作用?您的“不重复”示例显示了图像,但缩放也不起作用?以下是我的示例:最好将所有内容都包含在问题本身,而不是注释中。只需点击标签下的编辑链接。“没有角度,它可以正常工作”?wheelzoom可以正常工作,如果我没有使用ng repeat,但使用ng repeat,它不工作。请检查小提琴的例子。这有助于你理解我想说的话。但两个样本都不起作用?您的“无重复”示例显示了图像,但缩放也不起作用?我认为您的问题是您的JSFIDLE在ng repeat上没有显示任何图像数据,对吗?一般来说,在小提琴中,wheelzoom本身对我不起作用。我目前不在我的开发人员机器上-我想在本地测试它(不是在JSFIDLE上),但请告诉我这是否是您的实际问题,以及
$scope.$apply是否解决了您的问题。提示:您正在使用anguar 1.0(AngularJS的旧版本-我建议使用1.3或更高版本),即使使用$scope,它也不起作用。$apply()并且将angular版本更新到1.4I已经在本地测试了它,但是在使用ng-repeat时它不起作用。你看到我的编辑了吗?它现在应该可以使用该指令了。我想你的问题是你的JSFIDLE在ng-repeat上没有显示任何图像数据,对吗?一般来说,在小提琴中,wheelzoom本身对我不起作用。我目前不在我的开发人员机器上-我想在本地测试它(不是在JSFIDLE上),但请告诉我这是否是您的实际问题,以及
$scope.$apply是否解决了您的问题。提示:您正在使用anguar 1.0(AngularJS的旧版本-我建议使用1.3或更高版本),即使使用$scope,它也不起作用。$apply()并且将angular版本更新到1.4I已经在本地测试了它,但是在使用ng-repeat时它不起作用。你看到我的编辑了吗?它现在应该可以使用该指令了。我想你的问题是你的JSFIDLE在ng-repeat上没有显示任何图像数据,对吗?一般来说,在小提琴中,wheelzoom本身对我不起作用。我目前不在我的开发人员机器上-我会