调用后在 angularjs 中解绑 $watch

2022-01-16 00:00:00 frameworks angularjs javascript

我知道你可以像这样解除 $watch 的绑定:

I know you can unbind a $watch like this:

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

但是你可以在 watch 函数声明中取消绑定手表吗?那么在手表执行一次之后,它会自行解除绑定吗?比如:

but can you unbind the watch within the watch function declaration. So after the watch gets executed once, it unbinds itself? Something like:

$scope.$watch("tag", function () {
    unbindme()
});

推荐答案

你可以像你已经做的那样做,在你的函数中调用取消注册":

you can just do it the same way you already do, call the "deregistration" inside your function:

var unbind = $scope.$watch("tag", function () {
    // ...
    unbind();
});

相关文章