国产探花免费观看_亚洲丰满少妇自慰呻吟_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']);     }]   } }) 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武陟县| 泾阳县| 宣城市| 江油市| 沧州市| 贡山| 南靖县| 鄂州市| 都兰县| 桂东县| 崇阳县| 岳阳市| 伊宁县| 屏山县| 广西| 奉节县| 遵化市| 万年县| 信宜市| 濮阳县| 新乡市| 洮南市| 新宾| 奉化市| 汉寿县| 永丰县| 乌恰县| 普宁市| 且末县| 娱乐| 图木舒克市| 渝北区| 临漳县| 阿合奇县| 上犹县| 韶关市| 阳春市| 胶南市| 通州市| 桦甸市| 许昌县|