Angular指令删除元素绑定

时间:2015-07-29 17:13:47

标签: javascript angularjs angularjs-directive angular-directive

我已经获得了一个指令,该指令对导致foo的图像有一个特殊处理程序errorfoo使用默认图片更新错误图像的来源。它的绑定如下:

element0.bind('error', foo);

问题是,如果默认图像源导致错误,则foo被无限调用。

有没有办法在调用一次之后终止绑定?除此之外,我已经尝试了

  • 删除foo
  • 重新绑定到null
  • .bind()
  • 删除返回值

有什么想法吗?我可能会重新设计这个问题,但问题仍然存在。

1 个答案:

答案 0 :(得分:3)

element0.unbind('error', foo);

这个答案特定于jQuery,但对于Angular jqLit​​e也是如此。

至于jQuery,bindunbind已过时,支持onoff

反对在Angular中使用jQuery的参数适用于这种情况。最好坚持使用范围事件:

var errorListener = $scope.$on('error', foo);

使用

删除侦听器
errorListener();