Javascript ReferenceError:函数未定义错误

Javascript ReferenceError:函数未定义错误,javascript,angularjs,Javascript,Angularjs,我希望在触发发射事件并且运行侦听器上的$on时调用setValue函数。 我收到以下错误:ReferenceError:setValue未定义 为什么会这样 angular.module('clientApp') .service('ManagerService', ['$rootScope', function($rootScope) { var someValue = false; this.setValue = function(value) { someValue =

我希望在触发发射事件并且运行侦听器上的$on时调用setValue函数。 我收到以下错误:
ReferenceError:setValue未定义
为什么会这样

angular.module('clientApp')
.service('ManagerService',
['$rootScope', function($rootScope) {

  var someValue = false;

  this.setValue = function(value) {
    someValue = value;
  }

  $rootScope.$on('event', function(event, data) {
    setValue(true);
  });

}]);

定义
setValue
变量或用此名称声明函数

angular.module('clientApp')
.service('ManagerService',
['$rootScope', function($rootScope) {

  var someValue = false;

  this.setValue = setValue;

  function setValue(value) {
    someValue = value;
  }

  $rootScope.$on('event', function(event, data) {
    setValue(true);
  });

}]);

将该对象存储到变量中,然后使用它

angular.module('clientApp')
.service('ManagerService',
['$rootScope', function($rootScope) {
var vm = this;
  var someValue = false;

  vm.setValue = function(value) {
    someValue = value;
  }

  $rootScope.$on('event', function(event, data) {
    vm.setValue(true);
  });

}]);
“如何修复此问题?”定义
setValue
变量或声明具有此名称的函数。