angular小bug之ng-show元素闪烁

今天遇到的当你的ng-show为一个表格,或者是内容较多的时候,里面还有ng-reapt 同时页面还有轮询。好吧,就这样的环境下,页面出现了闪动,我需要隐藏的ng-show每次都会先显示一瞬间然后隐藏。而使用ng-if则可以解决这个问题,原因我想可能就是,ng-show和ng-hide都是通过css属性来控制它的显示隐藏,可能会出现猪一样的闪动,而ng-if则通过创建和删除节点。不会出现这样的问题。

angularjs中,页面部分元素是通过ng-show来控制其否显示的,页面刚加载时,会闪烁,出来一下又隐藏
你不能直接给节点加属性display:none;
首先你要知道angular js 的 ng-show是通过给节点增加class ng-hide 隐藏div的,
当符合ng-show条件时移除class ng-hide,如果你给节点加了display:none;那么此时div仍然是隐藏,
所以你开始的时候就给节点加上class=’ng-hide’,就行了
不过ng-hide 的style 其实也是angular.min.js加载完后添加到head里的,所以如果你担心用户网速慢,导致js加载慢,依然有延迟的话,你可以直接把那段style粘贴到你的html里面

<style>@charset "UTF-8";[ng:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng:form{display:block;}</style>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eighteen Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值