我有一个应用程序在使用 localhost:3000 进行测试时运行良好,但是当在流浪设置 (myapp.dev) 上运行时,我得到了无限$digest循环。 将主机文件更改为 myapp.dev 指向 127.0.0.1 并加载带有 myapp.dev:3000 的页面后,我能够在我的本地框中复制它。
那么为什么角度会因为网址而爆炸呢?
堆栈跟踪
更新如果我清除缓存或进行硬重新加载,则错误仍然存在,但是如果我在隐身选项卡中加载页面,则一切正常。所以也许这是一个奇怪的chrome缓存错误?
我会尝试检查您从服务器返回的响应的每个数据,以确认它们是您所期望的。具体来说,我知道过去当服务器在响应中返回索引.html文件而不是我期望的不同模板时,我过去遇到过类似的无限摘要循环问题。
例如,假设我在根目录中有一个 index.html 文件,如下所示:
<html>
<ng-view>
</html>
在我的ng-view中,我请求一个模板(例如name.tpl.html),我认为它看起来像这样:
<span>Name: {{name}}</span>
如果服务器错误地将 index.html 文件返回给我(在使用 HTML5 推送状态时,服务器设置不正确很容易做到),则会发生摘要循环错误,因为它不处理嵌套ng-view
标记的无限循环。