相关疑难解决方法(0)

如何取消订阅angularJS中的广播事件.如何删除通过$ on注册的功能

我已经使用$ on函数将我的监听器注册到$ broadcast事件

$scope.$on("onViewUpdated", this.callMe);
Run Code Online (Sandbox Code Playgroud)

我想根据特定的业务规则取消注册此侦听器.但我的问题是,一旦注册,我无法取消注册.

AngularJS中是否有任何方法可以取消注册特定的侦听器?像$ on这样取消注册此事件的方法可能是$ off.所以我可以说基于业务逻辑

 $scope.$off("onViewUpdated", this.callMe);
Run Code Online (Sandbox Code Playgroud)

当有人播放"onViewUpdated"事件时,此函数停止被调用.

谢谢

编辑:我想从另一个函数取消注册监听器.不是我注册它的功能.

angularjs

273
推荐指数
5
解决办法
11万
查看次数

调用后在angularjs中取消绑定$ watch

我知道你可以解开像这样的$ watch:

var listener = $scope.$watch("tag", function () {});
// ...
listener(); // would clear the watch
Run Code Online (Sandbox Code Playgroud)

但你可以在手表功能声明中取消绑定手表吗?因此,在手表执行一次后,它会自行解除绑定吗?就像是:

$scope.$watch("tag", function () {
    unbindme()
});
Run Code Online (Sandbox Code Playgroud)

javascript frameworks angularjs

28
推荐指数
2
解决办法
2万
查看次数

AngularJS:仅执行一次的事件处理程序

是否有一个指令或方法在AngularJS中实现.one()函数用jquery实现的是什么?

即,将事件附加到仅执行一次的元素.

javascript-events angularjs angularjs-directive

4
推荐指数
1
解决办法
4100
查看次数