无法在工厂中访问$ rootScope

时间:2014-10-23 08:28:56

标签: angularjs angularjs-scope

我在使用版本1.2.26的angular.js时遇到了一个奇怪的错误。下面是我的代码,我无法访问我在$ rootScope中设置的属性。当我记录$ rootScope时,我可以看到这些属性。但我无法访问这些属性。

angular
  .module('ids.factories', [])
  .factory('StoreFactory', ['$rootScope', function ($rootScope) {
    console.log($rootScope);//This is defined and i can see the store property
    console.log($rootScope.store);//This seems to be undefined
    return {
      get: function (key, callback) {
        return $rootScope.store.get(key, callback)
      },
      save: function (key, data, callback) {
        $rootScope.store.save({
          key: key,
          value: data
        }, callback);
      },
      remove: function (key) {
        $rootScope.store.remove({key: key});
      }
    }
  }]);

enter image description here

1 个答案:

答案 0 :(得分:1)

此错误取决于浏览器的开发人员工具的工作方式。就像tasseKATT在他的сomment中说的那样,在初始化Variable之前调用了console.log()。稍后在控制台中,您只能看到带有评估代码的引用。 Developer-Tool除了console.log条目外,还为您提供了一个小蓝色标志的提示。 (你也可以在截图中看到它) 问候!