首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJS: IE卸载时可见的表达式

AngularJS: IE卸载时可见的表达式
EN

Stack Overflow用户
提问于 2016-02-25 02:37:40
回答 1查看 316关注 0票数 0

我遇到了一个问题,在IE中刷新AngularJS页面会显示未编译的AngularJS。我可以使用ngCloak在加载时隐藏未编译的表达式,但是在页面卸载时找不到任何东西。我可以使用ngBind而不是表达式,然后表达式消失而不是显示raw,但我希望有更好的解决方案。有什么想法吗?

我仍然在做一个演示,你可以在那里看到这个问题;我认为用代码片段和JSFiddle之类的东西来显示结果的iframe阻止了我复制这个问题。

EN

回答 1

Stack Overflow用户

发布于 2016-02-25 07:11:00

以下几个建议可能会有帮助,也可能没有帮助。

与通常的建议相反,在文档头加载角度。这样,当你在页面加载过程中点击一个ng时,浏览器就知道如何处理它。如果它在页脚,那么在页面加载之前,ng-if是没有意义的,因此元素会闪现,然后在页面加载过程中消失

使用class ..ng cloak,就像你已经在做的那样。

在控制器中使用布尔值来指定何时显示元素。例如。

代码语言:javascript
运行
复制
<section ng-if='controller.loading === false'>

您可以将视图的部分或全部标记放在这样的div中,以便删除元素,直到它们准备好显示为止

使用ng-if ng-show和ng- hide,ng-if实际上从DOM中删除元素,而其他两个只是显示或隐藏。它们可以在页面加载的流畅性方面产生非常不同的结果。

在ng-if上使用表达式时,要小心确保表达式非常准确。不要在表达上马虎。考虑如果表达式中的var是未定义的,会发生什么。你的元素会在你不想要的时候显示吗?

虽然我还没有直接处理卸载,但是可以应用这些相同的概念。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35610311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档