Angular 指令删除元素绑定
Angular directive remove element binding
我有一个指令,它有一个特殊的处理程序 foo
,用于处理导致 error
的图像。 foo
使用默认图像更新错误图像的来源。它有如下绑定:
element0.bind('error', foo);
问题是,如果默认图片源出错,foo
会被无限调用。
有没有办法在调用一次后终止绑定?除其他外,我试过
- 删除
foo
- 重新绑定到 null
- 正在从
.bind()
中删除 return 值
有什么想法吗?我可能会重新设计它,但问题仍然存在。
element0.unbind('error', foo);
此答案特定于 jQuery,但对于 Angular jqLite 也是相同的。
至于jQuery,bind
和unbind
已过时,取而代之的是on
和off
。
反对在 Angular 中使用 jQuery 的论点适用于这种情况。最好坚持范围事件:
var errorListener = $scope.$on('error', foo);
并用
删除监听器
errorListener();
我有一个指令,它有一个特殊的处理程序 foo
,用于处理导致 error
的图像。 foo
使用默认图像更新错误图像的来源。它有如下绑定:
element0.bind('error', foo);
问题是,如果默认图片源出错,foo
会被无限调用。
有没有办法在调用一次后终止绑定?除其他外,我试过
- 删除
foo
- 重新绑定到 null
- 正在从
.bind()
中删除 return 值
有什么想法吗?我可能会重新设计它,但问题仍然存在。
element0.unbind('error', foo);
此答案特定于 jQuery,但对于 Angular jqLite 也是相同的。
至于jQuery,bind
和unbind
已过时,取而代之的是on
和off
。
反对在 Angular 中使用 jQuery 的论点适用于这种情况。最好坚持范围事件:
var errorListener = $scope.$on('error', foo);
并用
删除监听器errorListener();