Javascript 如何改善eslint插件的手表误差?

Javascript 如何改善eslint插件的手表误差?,javascript,angularjs,eslint,Javascript,Angularjs,Eslint,result->es lint error应将“$on”调用分配给一个变量,以便在$destroy事件期间销毁 但是如果我像在 我得到“已定义注销,但从未使用”错误 纠正此问题的最佳方法是什么?由$rootScope.$on返回的取消注册变量是一个需要调用以取消注册手表的函数。一个常见的用例是在当前作用域被销毁时调用它: var unregister = $rootScope.$on('$stateChangeStart', function (event, state) {

result->es lint error应将“$on”调用分配给一个变量,以便在$destroy事件期间销毁

但是如果我像在

我得到“已定义注销,但从未使用”错误


纠正此问题的最佳方法是什么?

$rootScope.$on
返回的
取消注册
变量是一个需要调用以取消注册手表的函数。一个常见的用例是在当前作用域被销毁时调用它:

var unregister = $rootScope.$on('$stateChangeStart', function (event, state) {
            ...
        })

规则将检查变量是否在
$destroy
调用中。你在这么做吗?或者你只是分配给一个被忽略的变量?不,不这样做,变量不会被自动清理?我已经有一段时间没有和AngularJS合作了,所以我对这方面没有权威,但是我认为规则的要点是,
$rootScope
上的手表不会自动清理,需要调用
$destroy
(并传递变量)。thx,这就是重点
var unregister = $rootScope.$on('$stateChangeStart', function (event, state) {
            ...
        })
$scope.$on('$destroy', unregister);