确保在运行过滤器代码之前变量是可用的

10 浏览
0 Comments

确保在运行过滤器代码之前变量是可用的

在我的run块中,我设置了一个rootScope变量,代码如下:

.run(['$rootScope', 'numbersService', function($rootScope, numbersService) {
  numbersService.getAvailableCodes().$promise.then(function(data) {
    $rootScope.availableCodes = data.codes;
  });
}]);

为了使我的过滤器正常运行,我需要$rootScope.availableCodes可用。以下是我的过滤器代码的开头部分:

.filter('formatValue', ['$rootScope', function($rootScope) {
  var availableCodes = $rootScope.availableCodes;
  ...

我的问题是,由于$rootScope.availableCodes是基于异步调用设置的,当我的过滤器运行时不能保证可用(此过滤器出现在我的HTML的多个地方)。如何在$rootScope.availableCodes设置后再运行我的过滤器逻辑?

0