启动和刷新时的Angular$rootScope行为
Angular $rootScope Behavior on Start and on Refresh
我在Angular中有以下代码:
$rootScope.commands.forEach(function(element, index, array){
commands[element] = function() {alert(element + " Test Command!");}
});
当我第一次登录应用程序时,它就起作用了。也就是说,如果我检查commands
JSON对象,它包含来自$rootScope.commands
的条目。
刷新页面时出现问题。就在那时,我得到了$rootScope.commands
未定义的错误。
为什么会发生这种情况?很明显,第一次登录和刷新页面在行为上是有区别的。
有什么想法吗?
登录时,我假设您正在设置$rootScope.commands
。刷新时,您不再调用此登录代码(因为您已经登录)。javascript变量中设置的任何内容都将在页面重新加载时被销毁,并且必须通过初始化函数重置。
我的建议是:添加一些启动代码,使用angular.module('your_module_name').run()
,并检查用户是否登录。如果登录了,请重新构建$rootScope.commands
。
相关文章:
- jQuery/Javascript.toggleClass/.classList.toggle的特殊行为
- 不同浏览器中的空白字符正则表达式行为
- delete关键字在全局变量上的不同行为
- $rootScope未使用forEach进行更新
- 在不阻止默认行为的情况下检测IE10中的缩放
- $rootScope not working
- 防止默认锚点行为AngularJS
- JavaScript匿名函数行为
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- java脚本在Chrome和其他浏览器中对LocaleTimeString的不同行为
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 无法在窗口内使用rootScope.通知
- html() 的意外行为
- onmouseover事件行为不端
- 导航菜单-悬停时的背景行为怪异
- 通过JavaScript捕获并更改默认警报()行为
- javascript RegExp的奇怪行为:相同的正则表达式会产生不同的结果
- HTML文档中脚本标记的位置-<头部>&<身体>有不同的行为
- AJAX Post的奇怪Javascript/PHP行为
- 启动和刷新时的Angular$rootScope行为