AngularJS-服务中未定义$rootScope属性值
AngularJS - $rootScope property value undefined in service
我目前正在$rootScope中创建一个新属性,并在一个模块中设置其值。
$rootScope.test = 123;
稍后,我将尝试在服务函数中引用此值。
.factory("testFactory", function ($location, $http, $rootScope) {
/* .... */
return {
testFunction : function(){
console.log($rootScope);
console.log($rootScope.test);
},
/* .... */
当我在Chrome中查看控制台输出时,我可以看到在$rootScope对象中正确设置了test的值,但我无法使用$rootScope.test语法进行引用$rooScope.test只是返回undefined。
有什么原因不能在服务中引用$rootScope的属性值吗?还是我试图不正确地检索此值?
更新-我创建了一个Plunker,展示了我遇到的问题。http://plnkr.co/edit/ePEiYh
这应该可以正常工作:
var myApp = angular.module("myApp", []);
myApp.run(['$rootScope', function($rootScope){
$rootScope.test = 123;
}]);
myApp.controller('AppController', ['$rootScope', function ($rootScope) {
console.log($rootScope.test);
}]);
Plunker:http://plnkr.co/edit/7NTGOK
我猜你在写之前正在读取值。
更新
这里的调试体验真的很奇怪。然而,在我更新的plunker中,你可以通过时间戳看到,写作发生在阅读之后:
http://plnkr.co/edit/pn5Wxk
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 序列化数据属性中对象的最可靠方法
- 分析高度属性时出现意外值{{specs.height}}.index.html
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- AngularJS-使用'true'属性
- 可以't使用JavaScript获取width属性
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- JavaScript Pub/Sub属性访问问题
- $rootScope未使用forEach进行更新
- 从JavaScript访问struts操作中的属性
- 无法使用typescript访问angular中另一个控制器中声明的$rootscope属性
- 延迟控制器执行,直到分配了 rootScope 属性的值
- AngularJS-服务中未定义$rootScope属性值
- Angular$rootScope对象属性不可访问
- $scope是否继承$rootScope的属性?AngularJS.