繁体   English   中英

角度控制器偶尔不加载

[英]Angular controller sporadically not loading

我有一个使用RequireJS和Angular设置的网站,但是在看似随机的时刻,它将决定不加载部分Javascript或不对部分角度代码进行数据绑定。

有问题的页面上有几个带有其自己的角度控制器的不同组件。 一切都可以在大约90%的时间内正常加载,但是有时会发生某些阻止数据绑定的事情(可见尖括号,ng-hide无法正常工作,...)。 此外,尽管Chrome devtools中的“网络”标签在“源”中列出,但未显示任何文件正在加载。 我不知道这是否相关。 我在控制台中没有任何错误。

在JS控制台中四处浏览,我发现确实有一个损坏的控制器存在(=我使用angular.element(...).scope()得到了一个对象),但是当我尝试访问其属性之一时,它们要么是未定义的,要么是我在所有控制器中都使用init()函数的情况,它返回父控制器的函数。

是什么导致控制器在看似随机的时间加载但其作用域变量未定义?

编辑:我发现可以重现此问题而不会在控制台中显示错误的唯一方法是将控制器初始化为空函数。 这会在控制台中产生类似的作用域行为,但不会导致出现大括号。 我会接受任何导致问题原因或可行的解决方法的线索。

看起来RequireJS有时加载速度足够快,以至于在DOM完全加载之前就可以执行angular.bootstrap调用。 这导致对已加载的内容进行角度处理,而忽略接下来的内容。 因此,我向设置中添加了domReady要求,因此当我知道整个页面都在那儿时,我只会引导角度。 由于很难确定,所以我只能希望这是原因,并且我们不会再看到此问题。

您可能必须使用AngularAMD 非常适合我们的有角度的网站。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM