我正在处理必须在嵌入式android系统(在系统webview中)上运行的页面,而这件事很慢。实际上,它是如此之慢,以至于当您加载页面时,有时模型文本仍会在页面上停留半秒钟,然后AngularJS才能更新所有绑定。这很烦人,显然是不可取的。
我已将ng-cloak
添加到页面元素的无尽置换中。我还向样式表中添加了以下样式:
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
它只是不想掩盖内容,我认为离子是罪魁祸首。我对AngularJS并不了解很多,所以我尝试编写一条指令
my-cloak
,该指令在compile和pre-link上向该元素添加了一个类,并在post link上将其删除了。它工作得更好,但是并不能总是工作。我已经读了一些我可以做的更多事情,例如“装饰”插值函数(超越我的深度),也许还列出了here中列出的各种建议之一(例如evalAsync或类似的东西),但我不知道足够了解Angular才能了解这些解决方案的实际作用。过渡到AngularJS时,来自jQuery背景非常困难。
因此,任何帮助将不胜感激。我只是想防止未消化的文本显示在屏幕上,基本上可以执行ng-cloak应该执行的操作,但对于速度较慢的系统而言。谢谢!
最佳答案
这不是您要寻找的答案,但是有一个很好的做法可以写
<span ng-bind="data"> </span>
(因此没有{{data}}闪烁)。
页面上已有ng-cloak样式。使用angular应用程序查看渲染页面的标题。
您可以执行以下操作:
<body ng-show="loaded"></body>
并在加载数据后在控制器中设置scope.loaded = true
。