国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angular-Ui-Router+ocLazyLoad動態加載腳本示例

2019-11-19 17:21:00
字體:
來源:轉載
供稿:網友

在使用angular過程以前同事是采取一次性加載方式,在index頁面一次性加載所有的js跟css,這種加載方式只適合教學和小型項目中,中大型不建議使用,加載速度影響到用戶體驗。

在使用了Ui-Router以后,我第一想法就是把每個功能組件化,在請求視圖的時候再去加載該頁面js和css,index頁面主要加載必須文件:angular.js

于是嘗試了下,這樣去寫,但是發現angular報錯,原因是控制器沒有注入主程序

后面在angular庫里面發現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

路由在渲染之前會執行resolve對象比如用來加載js和css,當然還有其他用處

代碼:(不用擔心腳本重復加載,之前加載的腳本會在瀏覽器做緩存)

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']);     }]   } }) 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 井陉县| 博客| 江北区| 安溪县| 砀山县| 湖口县| 乾安县| 榆树市| 舞阳县| 咸阳市| 沾益县| 安新县| 集安市| 通渭县| 安庆市| 广水市| 新野县| 滕州市| 洪江市| 从化市| 徐水县| 河北区| 桃江县| 焦作市| 八宿县| 平和县| 樟树市| 井冈山市| 东乌珠穆沁旗| 敦煌市| 昌黎县| 铁岭县| 彰武县| 阳泉市| 邯郸县| 政和县| 丹巴县| 扎兰屯市| 望谟县| 通化县| 阿克|