我有一个新项目,其中包含以下组件:
我在浏览器重新加载时遇到问题(按下浏览器刷新按钮)。我没有使用任何Angular.js路由功能。我正在使用Express路由器,每个页面都有一条路由。
当我尝试刷新时,使用这些组件进行页面构建,有时(20次重新加载中的1次)AngularJS不会在没有任何控制台错误的情况下运行。
当我在以下路线之间导航时,问题更为常见:
我在localhost:3000 / index,我进入localhost:3000 / about
在这种情况下更有可能发生此问题。
编辑:我没有使用任何AngularJS路由功能。
编辑:我还测试了DOMContentLoaded包装解决方案。
编辑:我附加了一个plunker,但问题没有重现。我认为它也与服务器有关。这个傻瓜真的很接近现实。
ng-app="StarterApp"
See the plunker :)
编辑: http://plnkr.co/edit/Vi1AQxNxJTDBf4B1ZEhr?p=preview
编辑:如果您在plunker上输入错误,请告诉我。
编辑:我还尝试激活:$ locationProvider.html5Mode(true);
编辑: 我还发现当服务器和计算机(在localhost上运行)真的受到压力时会发生这种情况。 (82%RAM - 1个CPU核心,99%)
我还跟踪了请求,发现文件在主要请求中正确加载,但在Angular(Ajax请求)中完成的请求不会被激活。
我还安装了一些Chrome AngularJS调试插件,当发生这种情况时它也无法运行。
这有时发生在我的所有网页上,所以我不认为某些代码会有用。
要解决此问题,我会重新加载,有时我会重新加载2次以启动Angular.JS。
以下情况如下:
工作时
不工作时
这真让我烦恼。我将继续调查这个问题,但我真的很感激任何帮助。
答案 0 :(得分:2)
Evrika!
我发现了问题。谢谢大家的支持。
有关angular.js调试chrome / firefox扩展的问题。
Ng-Inspector在每个负载上加载一个脚本ng-inspector.js,在这个脚本中它是一个处理 $ state 服务的控制器,并声明如何加载用户模块以便将调试数据推送到插件中。
不知何故,这种加载配置会因我的加载配置而混乱。
代码编写得很好,但我没想过这个。
因此,如果您解决此问题,请确保您的调试插件( ng-inspector 和 angular batarang )不会与项目中的业务逻辑交互。< / p>
我做了一些压力测试,以确保不再出现此问题。
现在每个人都可以。