AngularJs在使用路由時(shí)采用ocLazyLoad進(jìn)行按需加載提高頁面加載速度

次加載頁面就下載好所有的資源沒有什么大問題万皿。但是當(dāng)我們的網(wǎng)站漸漸龐大起來侦讨,這樣子的加載策略讓網(wǎng)速初始化速度變得越來越慢,用戶體驗(yàn)不好钦奋。二來衰倦,分模塊加載易于團(tuán)隊(duì)協(xié)作袒炉,減低代碼沖突。

代碼目錄結(jié)構(gòu)

html
    -login.html
    -register.html
js
    -angular.min.js
    -angular-ui-router.min.js
    -ocLazyLoad.min.js
index.html
login.js
main.js
register.js
//index.html  
<!DOCTYPE html>  
<html lang="zh-cn" ng-app="test" id="test">  
    <head>  
        <meta charset="utf-8">  
        <meta http-equiv="X-UA-Compatible" content="IE=edge">  
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">  
        <meta name="format-detection" content="telephone=no">  
        <title ng-bind="title"></title>  
        <script src="./js/angular.min.js"></script>  
        <script src="./js/angular-ui-router.min.js"></script>  
        <script src="./js/ocLazyLoad.min.js"></script>  
        <script src="./main.js"></script>  
    </head>  
    <body data-ng-controller="mainController">  
        <div class="main-view ng-cloak" data-ui-view="mainView" id="mainView" ng-cloak></div>  
    </body>  
</html>  
//main.js  
var app = angular.module("test", ["ui.router", "oc.lazyLoad"])  
  .config(["$stateProvider", "$locationProvider", "$urlRouterProvider", "$ocLazyLoadProvider", function($stateProvider, r, s, $ocLazyLoadProvider) {  
    s.otherwise("/");  
    s.when("/", "/register");  
    r.hashPrefix("");  
  
    $ocLazyLoadProvider.config({  
        events : true  
    });  
  
    $stateProvider.state("register", {  
        title: "注冊(cè)",  
        url: "/register",  
        views: {  
            mainView: {  
                templateUrl: "./html/register.html",  
                controller: "registerCtrl"  
            }  
        },  
        resolve: {  
            loadMyCtrl1: ["$ocLazyLoad", function(e) {  
                return e.load(["./register.js"])  
            }]  
        }  
    }).state("login", {  
        title: "登錄",  
        url: "/login",  
        views: {  
            mainView: {  
                templateUrl: "./html/login.html",  
                controller: "loginCtrl"  
            }  
        },  
        resolve: {  
            loadMyCtrl1: ["$ocLazyLoad", function(e) {  
                return e.load(["./login.js"])  
            }]  
        }  
    });  
  
}  
]);  
  
app.controller("mainController", ["$stateParams", "$rootScope", "$state", function(e, t, i) {}]);  
//register.js  
var app = angular.module("test");  
app.controller("registerCtrl", ["$scope", "$state", "$ocLazyLoad", function($scope, $state, $ocLazyLoad) {  
    $scope.name = 'register';  
    $scope.goLogin = function(){  
        $state.transitionTo("register.index");  
    }
}]);  
//register.html  
<div>
    注冊(cè):{{ name }}
    <div ng-click="goLogin()">  
        我要登錄  
    </div>
</div>  
//login.js  
var app = angular.module("test");  
app.controller("loginCtrl", ["$scope", function($scope) {  
    $scope.name = 'login';
}]);  
//login.html  
<div>  
    登錄:{{ name }}
</div>  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末樊零,一起剝皮案震驚了整個(gè)濱河市我磁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌驻襟,老刑警劉巖夺艰,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異沉衣,居然都是意外死亡郁副,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門豌习,熙熙樓的掌柜王于貴愁眉苦臉地迎上來存谎,“玉大人,你說我怎么就攤上這事肥隆〖燃裕” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵栋艳,是天一觀的道長恰聘。 經(jīng)常有香客問我,道長吸占,這世上最難降的妖魔是什么晴叨? 我笑而不...
    開封第一講書人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮旬昭,結(jié)果婚禮上篙螟,老公的妹妹穿的比我還像新娘。我一直安慰自己问拘,他們只是感情好遍略,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著骤坐,像睡著了一般绪杏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纽绍,一...
    開封第一講書人閱讀 51,698評(píng)論 1 305
  • 那天蕾久,我揣著相機(jī)與錄音,去河邊找鬼拌夏。 笑死僧著,一個(gè)胖子當(dāng)著我的面吹牛履因,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盹愚,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼栅迄,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了皆怕?” 一聲冷哼從身側(cè)響起毅舆,我...
    開封第一講書人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎愈腾,沒想到半個(gè)月后憋活,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虱黄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年悦即,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片礁鲁。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盐欺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出仅醇,到底是詐尸還是另有隱情,我是刑警寧澤魔种,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布析二,位于F島的核電站,受9級(jí)特大地震影響节预,放射性物質(zhì)發(fā)生泄漏叶摄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一安拟、第九天 我趴在偏房一處隱蔽的房頂上張望蛤吓。 院中可真熱鬧,春花似錦糠赦、人聲如沸会傲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽淌山。三九已至,卻和暖如春顾瞻,著一層夾襖步出監(jiān)牢的瞬間泼疑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來泰國打工荷荤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留退渗,地道東北人移稳。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像会油,于是被迫代替她去往敵國和親秒裕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容