【问题标题】:How to hide expression in AngularJS during page loading?如何在页面加载期间隐藏 AngularJS 中的表达式?
【发布时间】:2016-10-04 07:04:05
【问题描述】:

我有以下代码,例如:

div {{count}}

然后在我的javascript中,它将被一个值替换。

但是,不知何故,如果我刷新我的页面,{{count}} 最初会显示在页面中,直到页面完全加载。

如何在页面加载时隐藏它?

【问题讨论】:

标签: angularjs


【解决方案1】:

您有 2 个解决方案

第一

您可以使用ng-bind

ngBind 属性告诉 Angular 将指定 HTML 元素的文本内容替换为给定表达式的值,并在该表达式的值更改时更新文本内容。

<div ng-bind="count"></div>

第二次

你可以使用ng-cloack

ngCloak 指令用于防止 Angular html 模板在加载应用程序时被浏览器以原始(未编译)形式短暂显示。使用该指令可以避免 html 模板显示引起的不良闪烁效果。

<div ng-cloack>{{count}}</div>

【讨论】:

    【解决方案2】:

    您可以使用ng-bind="count"ng-cloak 代替{{count}}

    <div ng-bind="count"></div>
    
    <div ng-cloak>{{count}}</div>
    

    如果您使用ng-cloak,您可能会遇到一些视图闪烁问题。看看讨论here

    【讨论】:

      【解决方案3】:

      使用ng-cloack,它是为了防止您的问题而创建的,称为 FUOC (Flash Of Unstyled Content):

      <div ng-cloak>{{count}}</div>
      

      【讨论】:

        【解决方案4】:

        您可以为此使用ng-bindng-cloak

        例如:

        <div> <span ng-bind="count"></span> </div>
        
        <div ng-cloak>{{count}}</div>
        

        【讨论】:

        • 拼写错误:ng-cloack 而不是ng-clock,就像你写的那样:)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多