国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

ui-router中使用ocLazyLoad和resolve的具體方法

來源:懂視網 責編:小采 時間:2020-11-27 22:27:34
文檔

ui-router中使用ocLazyLoad和resolve的具體方法

ui-router中使用ocLazyLoad和resolve的具體方法:1.AngularJS按需加載 AngularJS主要應用開發SPA(Single Page Application)項目,所以在小型項目中,services、filters和controllers都在index.html中加載。Google給的AngularJS官方的angular-seed和angular-phonecat都
推薦度:
導讀ui-router中使用ocLazyLoad和resolve的具體方法:1.AngularJS按需加載 AngularJS主要應用開發SPA(Single Page Application)項目,所以在小型項目中,services、filters和controllers都在index.html中加載。Google給的AngularJS官方的angular-seed和angular-phonecat都

1.AngularJS按需加載

AngularJS主要應用開發SPA(Single Page Application)項目,所以在小型項目中,services、filters和controllers都在index.html中加載。Google給的AngularJS官方的angular-seed和angular-phonecat都是這樣。

對于復雜一點,大型的項目,如果所有的內容一開始就加載,對首頁的性能影響比較大,即使靜態javascript文件使用CDN,對性能還是有很大的影響。所有需要引入按需加載機制,而Angular1.x版本中,ocLazyLoad是一個不錯的按鈕加載解決方案。

2.ocLazyLoad的功能

ocLazyLoad: your solution for lazy loading with Angular 1.x

入門可以參照:ocLazyLoad快速入門,代碼也非常簡單:

1.引入ocLazyLoad文件,可以使用npm和bower來進行安裝

<script src="https://www.gxlcms.com//ajax.googleapis.com/ajax/libs/angularjs/1.3.0/angular.min.js"></script>
<script src="libs/angular-ui-router/angular-ui-router.js"></script>
<script src="libs/ocLazyLoad/ocLazyLoad.js"></script>

2.注入 oc.lazyLoad模塊

var myApp = angular.module("MyApp", ["oc.lazyLoad"]);

3. 在控制器中加載一個指定的模塊

myApp.controller("MyCtrl", function($ocLazyLoad) {
 $ocLazyLoad.load('testModule.js');
});

在實際項目中service和controller文件都是通過ocLazyLoad加載,并且是放在resolve中加載。代碼示例如下:

.state('detail',{
 url:"/detail/:bookId",
 templateUrl:"/templates/detail.html",
 controller:"DetailController",
 controllerAs:'ctrl',
 resolve:{
 load:['$ocLazyLoad',function($ocLazyLoad){
 return $ocLazyLoad.load([
 'services/dataService.js'
 ]);
 }],
 currentBook:['$ocLazyLoad','$stateParams','$injector',function($ocLazyLoad,$stateParams,$injector){
 var bookId=$stateParams.bookId;
 return $ocLazyLoad.load('services/booksService.js').then(function(){
 return $injector.get('booksService').getBookById(bookId);;
 });

 }]
 }
 })

3.resolve屬性

resolve在state配置參數中,是一個對象(key-value),每一個value都是一個可以依賴注入的函數,并且返回的是一個promise(當然也可以是值,resloved defer)。

4.resolve中加載service

resolve中加載services,但是請求都是異步的,返回的順序不是按照順序來的。在currentBook中需要調用booksService里面的getBookById()方法。這個時候雖然在load里面已經加載dataService.js,但是在currentBook中是無法使用getBookById()方法,所以在currentBook對象中,所以必須重新加載booksService.js。這個時候就需要$injector中的get()方法。$injector

5.圖書列表和詳細頁demo

6.參考網址

ocLazyLoad

ui-router中resolve屬性

綜合示例://www.gxlcms.com/article/92624.htm

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

ui-router中使用ocLazyLoad和resolve的具體方法

ui-router中使用ocLazyLoad和resolve的具體方法:1.AngularJS按需加載 AngularJS主要應用開發SPA(Single Page Application)項目,所以在小型項目中,services、filters和controllers都在index.html中加載。Google給的AngularJS官方的angular-seed和angular-phonecat都
推薦度:
標簽: 使用 ui oc
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲欧美日韩综合精品网 | 国产一区2区 | 国产91精品一区二区视色 | 中文国产成人精品久久久 | 欧美日韩亚洲国产一区二区三区 | 综合精品欧美日韩国产在线 | 国产香蕉视频在线观看 | 免费国产视频 | 欧美野外多人交3 | 免费在线不卡视频 | 久久99精品国产99久久 | 国产在线观看精品一区二区三区91 | 久久亚洲欧美综合激情一区 | 中文字幕日韩精品有码视频 | 亚洲欧美激情另类 | 国产日韩一区二区三区在线观看 | 国产欧美中文字幕 | 免费国产叼嘿视频大全网站 | 婷婷久草 | 国产精品毛片久久久久久久 | 日韩网 | 色婷婷综合久久久久中文一区二区 | 日韩欧美在线观看 | 欧美视频一区二区在线观看 | 亚洲香蕉久久综合网 | 在线 v亚洲 v欧美v 专区 | 欧美极品欧美日韩 | 中文字幕免费在线播放 | 日韩在线无 | 日韩二三区| 在线免费黄色网址 | 色精品一区二区三区 | 欧美日本道免费二区三区 | 日本久久网 | 中文国产成人精品久久一区 | 国产不卡在线观看 | 一97日本道伊人久久综合影院 | 国产伦精品一区二区三区在线观看 | 亚洲欧美日韩高清中文在线 | 久久久这里有精品999 | 久久动态图 |