AngularJS 在编译前显示模型文本,尽管有 ng-cloak

AngularJS shows model text before compilation despite ng-cloak

我正在处理一个必须在嵌入式 android 系统(在系统 webview 中)上 运行 的页面,而且这东西速度非常慢。实际上如此缓慢,以至于当您加载页面时,有时模型文本在 AngularJS 开始更新所有绑定之前仍会在页面上停留半秒。这很烦人,而且显然不受欢迎。

我已将 ng-cloak 添加到页面元素的无限排列中。我还在样式 sheet:

中添加了以下样式
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important;
}

它只是不想隐藏内容,我认为 ionic 是罪魁祸首。不太了解 AngularJS,我尝试编写一个指令 my-cloak,在编译和预 link 时向元素添加 class,并在 [=32] 时删除它=] link。它工作得更好,但并不总是有效。

我已经阅读了一些我可以做的事情,比如 "decorating" 插值函数(超出我的深度),也许还有 here 列出的各种建议之一(比如 evalAsync 之类的)像那样)但我对 Angular 的了解还不够,无法理解这些解决方案的实际作用。从 jQuery 背景过渡到 AngularJS 非常困难。

非常感谢任何帮助。我只是想防止未消化的文本显示在屏幕上,基本上做 ng-cloak 应该做的,但对于较慢的系统。谢谢!

这不是您要找的答案,但有一个很好的练习可以写

<span ng-bind="data">&nbsp;</span> 

(所以没有 {{data}} 闪烁)。

  • ng-cloak 样式已在页面上。使用 angular app.

  • 查看渲染页面的页眉
  • 你可以这样做:

<body ng-show="loaded"></body> 并在控制器中设置 scope.loaded = true,数据加载后。