Angular-Ui-Router+ocLazyLoad動態(tài)加載腳本示例
在使用angular過程以前同事是采取一次性加載方式,在index頁面一次性加載所有的js跟css,這種加載方式只適合教學(xué)和小型項目中,中大型不建議使用,加載速度影響到用戶體驗(yàn)。
在使用了Ui-Router以后,我第一想法就是把每個功能組件化,在請求視圖的時候再去加載該頁面js和css,index頁面主要加載必須文件:angular.js
于是嘗試了下,這樣去寫,但是發(fā)現(xiàn)angular報錯,原因是控制器沒有注入主程序
后面在angular庫里面發(fā)現(xiàn)ocLazyLoad,這是一個為angular量身定制腳本加載器,它只有15K
使用它很簡單:
依次載入文件
<script src="framework/angular/angular.min.js"></script> <script src="framework/angular-ui-router.js"></script> <script src="framework/ocLazyLoad.min.js"></script> <script src="framework/app.js"></script>
跟平常寫路由一樣只是需要多一層resolve
路由在渲染之前會執(zhí)行resolve對象比如用來加載js和css,當(dāng)然還有其他用處
代碼:(不用擔(dān)心腳本重復(fù)加載,之前加載的腳本會在瀏覽器做緩存)
angular.module('myRouters', ['ui.router','oc.lazyLoad'])
.state('index', { url: '/index', title: ' | !', views: { 'A': { templateUrl: 'components/header/header.html', controller: 'headerCtrl' }, 'C@index': { templateUrl: 'components/header/h1.html', controller: 'H2Ctrl' } }, resolve: { loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) { return $ocLazyLoad.load(['components/header/H2.js', 'components/header/header.js', 'components/header/h3.js', 'components/header/header1.css']); }] } })
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- angularjs ui-router中路由的二級嵌套
- AngularJS ui-router (嵌套路由)實(shí)例
- Angular2學(xué)習(xí)筆記——詳解路由器模型(Router)
- angular基于路由控制ui-router實(shí)現(xiàn)系統(tǒng)權(quán)限控制
- Angular中使用ui router實(shí)現(xiàn)系統(tǒng)權(quán)限控制及開發(fā)遇到問題
- 淺析angularJS中的ui-router和ng-grid模塊
- Angularjs中UI Router的使用方法
- Angularjs中UI Router全攻略
- angularJS中router的使用指南
- 詳解angular2實(shí)現(xiàn)ng2-router 路由和嵌套路由
相關(guān)文章
AngularJS集合數(shù)據(jù)遍歷顯示的實(shí)例
下面小編就為大家分享一篇AngularJS集合數(shù)據(jù)遍歷顯示的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12AngularJS入門教程之?dāng)?shù)據(jù)綁定原理詳解
這篇文章主要介紹了AngularJS數(shù)據(jù)綁定原理,較為詳細(xì)的分析了AngularJS數(shù)據(jù)綁定的原理、使用技巧與相關(guān)注意事項,需要的朋友可以參考下2016-11-11Angularjs中如何使用filterFilter函數(shù)過濾
這篇文章主要介紹了Angularjs中如何使用filterFilter函數(shù)過濾的相關(guān)資料,需要的朋友可以參考下2016-02-02Angular4項目中添加i18n國際化插件ngx-translate的步驟詳解
這篇文章主要跟大家介紹了關(guān)于Angular4項目中添加i18n國際化插件ngx-translate的步驟,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-07-07基于AngularJS實(shí)現(xiàn)的工資計算器實(shí)例
這篇文章主要介紹了基于AngularJS實(shí)現(xiàn)的工資計算器,結(jié)合具體實(shí)例形式分析了AngularJS數(shù)值計算相關(guān)操作技巧,需要的朋友可以參考下2017-06-06