Answers:
$watch
返回注销功能。调用它将取消注册$watcher
。
var listener = $scope.$watch("quartz", function () {});
// ...
listener(); // Would clear the watch
scope。$ watch返回一个您可以调用的函数,该函数将取消注册手表。
就像是:
var unbindWatch = $scope.$watch("myvariable", function() {
//...
});
setTimeout(function() {
unbindWatch();
}, 1000);
理想情况下,离开示波器时,应删除所有定制手表。
它有助于更好的内存管理和更好的应用程序性能。
// call to $watch will return a de-register function
var listener = $scope.$watch(someVariableToWatch, function(....));
$scope.$on('$destroy', function() {
listener(); // call the de-register function on scope destroy
});
要丢弃观察者的副本,可以使用以下方法:
watchers = void 0;
$on('$destroy')
如上的)是一个好习惯,还是AngularJS会照顾好他们?谢谢!