gpt4 book ai didi

javascript - Angular Controller 偶尔不加载

转载 作者:行者123 更新时间:2023-11-29 19:29:25 26 4
gpt4 key购买 nike

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

有问题的页面上有几个不同的组件,它们都有自己的 Angular Controller 。大约 90% 的时间一切都加载正常,但有时会发生阻止数据绑定(bind)的事情(尖括号可见,ng-hide 不工作,...)。此外,Chrome devtools 中的“网络”选项卡显示没有文件正在加载,尽管它们列在“来源”中。我不知道这是否相关。我在控制台中完全没有错误。

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

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

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

最佳答案

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

关于javascript - Angular Controller 偶尔不加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28897315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com