iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >Angularjs如何处理页面闪烁
  • 669
分享到

Angularjs如何处理页面闪烁

2024-04-02 19:04:59 669人浏览 独家记忆
摘要

这篇文章给大家分享的是有关angularjs如何处理页面闪烁的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。摘要在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的

这篇文章给大家分享的是有关angularjs如何处理页面闪烁的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

摘要

在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况。数据还没响应,但页面已经渲染了。这是因为浏览器和angularjs渲染页面都需要消耗一定的时间,这个间隔可能很小,甚至让人感觉不到,这种情况一切正常,但这个时间也可能很长,这时候用户可能会看到满屏尽是{{xxxx}}。这种情况被叫做“Flash Of Unrendered Content (FOUC)(K)?and is always unwanted.”。

问题

为了图方便,我们很喜欢使用下面的做法

 <div>
  {{name}}
 </div>

但这也为满屏尽是{{}}埋下了坑。当接口,网络响应速度够快的情况下,很难发现这个问题,但放在移动端4g或者网络环境更差的情况下,这个问题就会频发。

解决办法

1、ng-cloak

该指令是angularjs的内置的指令,它的作用是隐藏所有被它包含的元素。在浏览器加载和编译渲染完成后,angularjs会自动删除nGCloak元素属性,这样这个元素就会变为可见的。

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

2、ng-bind

该指令是angularjs内置的用于绑定页面数据的指令。可以使用该指令代替{{}}的方式绑定数据到页面上。使用ng-bind可以防止未被渲染的{{}}展示给用户。如下所示:

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

3、resolve

当使用routes路由的时候,resolve可以防止我们在route路由被完全加载之前获取我们需要加载的数据,当数据被加载成功之后,路由再改变而页面也会呈现给用户,数据没有加载成功route不会改变。

可以参考

https://www.jb51.net/article/107905.htm

angular.module('myApp', ['ngRoute'])
.config(function($routeProvider) {
 $routeProvider
 .when('/account', {
 controller: 'AccountCtrl',
 templateUrl: 'views/account.html',
 resolve: {
  // We specify a promise to be resolved
  account: function($q) {
  var d = $q.defer();
  $timeout(function() {
   d.resolve({
   id: 1,
   name: 'Ari Lerner'
   })
  }, 1000);
  return d.promise;
  }
 }
 })
});

resolve 项需要一个key/value对象,key是resolve依赖的名称,value可以是一个字符串(as a service)或者一个返回依赖的方法。

resolve is very useful when the resolve value returns a promise that becomes resolved or rejected.

当路由加载的时候,resolve参数里的keys可以作为可注入的依赖:

ngular.module('myApp')
.controller('AccountCtrl', 
 function($scope, account) {
 $scope.account = account;
});

我们同样可以使用resolve key传递$Http方法返回的结果,as $http returns promises from it's method calls:

angular.module('myApp', ['ngRoute'])
.config(function($routeProvider) {
 $routeProvider
 .when('/account', {
 controller: 'AccountCtrl',
 templateUrl: 'views/account.html',
 resolve: {
  account: function($http) {
  return $http.get('http://example.com/account.JSON')
  }
 }
 })

推荐定义一个独立的service的方式来使用resolve key,并且使用service来相应返回所需的数据(这种方式更容易测试)。要这样处理的话,我们需要创建一个service:

首先,看一下accountService,

angular.module('app')
.factory('accountService', function($http, $q) {
 return {
 getAccount: function() {
  var d = $q.defer();
  $http.get('/account')
  .then(function(response) {
  d.resolve(response.data)
  }, function err(reason) {
  d.reject(reason);
  });
  return d.promise;
 }
 }
})

定义好service之后我们就可以使用这个service来替换上面代码中直接调用$http的方式了:

ngular.module('myApp', ['ngRoute'])
.config(function($routeProvider) {
 $routeProvider
 .when('/account', {
 controller: 'AccountCtrl',
 templateUrl: 'views/account.html',
 resolve: {
  // We specify a promise to be resolved
  account: function(accountService) {
  return accountService.getAccount()
  }
 }
 })

感谢各位的阅读!关于“Angularjs如何处理页面闪烁”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Angularjs如何处理页面闪烁

本文链接: https://www.lsjlt.com/news/73109.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Angularjs如何处理页面闪烁
    这篇文章给大家分享的是有关Angularjs如何处理页面闪烁的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。摘要在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的...
    99+
    2024-04-02
  • Angular.js中如何处理页面闪烁
    这篇文章主要介绍Angular.js中如何处理页面闪烁,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言大家在使用{{}}绑定数据的时候,页面加载会出现满屏尽是{{xxx}}的情况。...
    99+
    2024-04-02
  • AngularJS中怎么防止页面闪烁
    AngularJS中怎么防止页面闪烁,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、ng-cloakng-cloak指令是angular...
    99+
    2024-04-02
  • 如何解决小程序页面闪烁问题
    解决小程序页面闪烁问题的方法:主要由于运行内存不够,微信对小程序图片渲染过大进行拦截,引起的小程序页面闪烁问题。优化办法:对大图片进行压缩,如果是网页路径可附加参数x-oss-process=image/auto-orient,1/resi...
    99+
    2024-04-02
  • 如何解决vue页面加载闪烁的问题
    这篇文章主要介绍了如何解决vue页面加载闪烁的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。v-if 和 v-show 的区别v-if只...
    99+
    2024-04-02
  • Ajax如何实现无闪烁定时刷新页面
    这篇文章主要介绍Ajax如何实现无闪烁定时刷新页面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在Web开发中我们经常需要实现定时刷新某个页面:来保持session的值或者检查session的值是否为空(比如说防止同...
    99+
    2023-06-08
  • 单页面Vue页面刷新出现闪烁问题及解决
    目录分析原因: 为什么刷新会出现闪烁的问题解决方法: 使用 v-cloak 用法关于Vue刷新页面问题如何解决 provide / inject 组合分析原因: 为什么刷新...
    99+
    2024-04-02
  • win8桌面图标一直闪烁如何解决
    如果Win8桌面图标一直闪烁,可能是系统的某些设置出现了问题。以下是一些常见的解决方法:1. 重新启动电脑:有时候重启系统可以解决一...
    99+
    2023-08-28
    win8
  • vue刷新页面时如何实现去闪烁提升用户体验效果
    小编给大家分享一下vue刷新页面时如何实现去闪烁提升用户体验效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先在最外层div...
    99+
    2024-04-02
  • VUE页面声音+标题闪烁通知组件怎么使用
    这篇文章主要介绍“VUE页面声音+标题闪烁通知组件怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“VUE页面声音+标题闪烁通知组件怎么使用”文章能帮助大家解决问题。一个VUE页面声音+标题闪烁...
    99+
    2023-07-05
  • AngularJS如何实现跨页面传值
    这篇文章主要介绍了AngularJS如何实现跨页面传值,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用的ionic这里使用ui-router...
    99+
    2024-04-02
  • 如何调暗 iPhone 上的频闪灯和闪烁灯 new
    自 2022 年 9 月发布以来,随着 Apple 继续改进其 iPhone 操作系统,iOS 16 发生了重大变化。近日,苹果发布了 iOS 16.4 测试版更新,其中包含一些新的有趣的功能,将用户的 iPhone 体验提升了一个档次。其...
    99+
    2023-07-24
  • 电脑黑屏闪烁如何解决
    这篇“电脑黑屏闪烁如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“电脑黑屏闪烁如何解决”文章吧。解决方法/步骤:重启电...
    99+
    2023-06-27
  • win11系统黑屏闪烁如何解决
    这篇文章主要介绍“win11系统黑屏闪烁如何解决”,在日常操作中,相信很多人在win11系统黑屏闪烁如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”win11系统黑屏闪烁如何解决”的疑惑有所帮助!接下来...
    99+
    2023-07-01
  • JS如何实现按钮闪烁功能
    这篇文章主要为大家展示了“JS如何实现按钮闪烁功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现按钮闪烁功能”这篇文章吧。html<body&...
    99+
    2024-04-02
  • CSS3如何实现闪烁动画效果
    这篇文章给大家分享的是有关CSS3如何实现闪烁动画效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码如下:.className{ -webkit-animation...
    99+
    2024-04-02
  • VUE页面声音和标题闪烁通知组件怎么使用
    本文小编为大家详细介绍“VUE页面声音和标题闪烁通知组件怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“VUE页面声音和标题闪烁通知组件怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.使用方法1...
    99+
    2023-07-04
  • 分享一个VUE页面声音+标题闪烁通知的组件
    本篇文章给大家带来了关于VUE的相关知识,其中主要跟大家分享一个VUE页面声音+标题闪烁通知的组件,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。一个VUE页面声音+标题闪烁通知的组件1、使用方法1.1 组件模板引用<PageNo...
    99+
    2023-05-14
    Vue
  • vue解决刷新页面时会出现变量闪烁的问题
    目录刷新页面时会出现变量闪烁问题解决办法是: v-cloakvue刷新当前页面,且页面不闪烁场景:刷新当前页的方法provide/inject 组合介绍provide/inject ...
    99+
    2024-04-02
  • AngularJS如何实现页面定时刷新
    这篇文章主要介绍了AngularJS如何实现页面定时刷新,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。有时我们在前端可能会有这样的需求:1、...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作