欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

AngularJS中怎么防止頁面閃爍

AngularJS中怎么防止頁面閃爍,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都創(chuàng)新互聯(lián)堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十余年網站建設經驗成都創(chuàng)新互聯(lián)是成都老牌網站營銷服務商,為您提供網站設計制作、成都網站建設、網站設計、HTML5建站、網站制作、品牌網站制作、微信小程序服務,給眾多知名企業(yè)提供過好品質的建站服務。

1、ng-cloak

ng-cloak指令是angular的內置指令,它的作用是隱藏所有被它包含的元素:

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

在瀏覽器加載和編譯渲染完成之后,angular會自動刪除ngCloak元素屬性,這樣這個元素就會變成可見的。

在IE7里面使用ng-cloak的安全方式是給元素多加一個ng-cloak class

<div ng-cloak class="ng-cloak">
 <h2>Hello {{ name }}</h2>
</div>

2、ng-bind

ng-bind是angular里面另一個內置的用于操作綁定頁面數(shù)據(jù)的指令。我們可以使用ng-bind代替{{ }}的形式綁定元素到頁面上;

使用ng-bind替代{{  }}可以防止未被渲染的{{ }}就展示給用戶了,使用ng-bind渲染的空元素替代{{ }}會顯得友好很多。

上面的例子可以重寫成下面那樣,這樣就可以防止頁面出現(xiàn){{ }}了

<div>
 <h2>Hello <span ng-bind="name"></span></h2>
</div>

3、resolve

當在不同的頁面之間使用routes(路由)的時候,我們有另外的方式防止頁面在數(shù)據(jù)被完全加載到route之前被渲染。

在route(路由)里使用resolve可以讓我們在route(路由)被完全加載之前獲取我們需要加載的數(shù)據(jù)。當數(shù)據(jù)被加載成功之后,路由就會改變而頁面也會呈現(xiàn)給用戶;數(shù)據(jù)沒有被加載成功route就不會改變, the $routeChangeError event will get fired.【$routeChangeError事件就(不)會被激活?】

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參數(shù)里的keys可以作為可注入的依賴:

angular.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來相應返回所需的數(shù)據(jù)(這種方式更容易測試)。要這樣處理的話,我們需要創(chuàng)建一個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的方式了:

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(accountService) {
    return accountService.getAccount()
   }
  }
 })
});

關于AngularJS中怎么防止頁面閃爍問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。

本文名稱:AngularJS中怎么防止頁面閃爍
網站URL:http://aaarwkj.com/article12/igjggc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供自適應網站、App設計網站內鏈、營銷型網站建設、品牌網站設計App開發(fā)

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站優(yōu)化排名
精品久久久久久蜜臀av| 欧美高清在线观看视频| 青青草视频在线好好热| 五月婷婷六月丁香伊人网| 国产一区精品在线免费看| 亚欧成人永久免费视频| 日本免费播放一区二区视频| 日韩在线中文字幕精品| 国产一区二区精品久久久女同| 精品欧美一区二区精品| 色悠悠粉嫩一区二区三区| 日韩欧美中文字幕在线等| 久久视频在线播放视频| 日韩精品视频在线不卡| 亚洲欧美国产在线日韩| 免费在线观看做性小视频| 成年人收看黄色一二级片| 亚洲美女毛茸茸的逼逼| 蜜桃av在线播放视频| 国产精品久久久在线视频| 91精品婷婷国产综合| 日韩成人午夜视频在线| 欧美日韩一区二区三区色| 日韩欧美亚洲自拍另类| 亚洲av乱码久久精品蜜桃| 日韩一区中文字幕久久| 亚洲av成人av天堂| 免费在线观看av日韩| 国产国产人免费人成免费人妖| 自拍偷拍亚洲精品第一页| 国产美女高潮流白浆视频免费看| 日韩成人午夜视频在线| 精品久久中文字幕久久av| 欧美精品一区二区亚洲| 精品国产乱码一区二区三区| 91午夜福利国产在线观看| 国产在线精品成人欧美| 亚洲欧美国产精品日韩| 亚洲一区日韩精品颜射| 欧美一区二区三区顶级黄片| 精品国产视频一区二区三区|