最近在使用AngularJS,发现AngularJS菜鸟教程上的东西太过于基础,很多东西都没有提及,比如今天的一个关于前端的优化问题,懒加载。通过路由实现地址分发的时候,再通过懒加载模式加载你所需的文件,比如是相关的controller,就是js,这样有利于提高首次加载的负担。

下面就是一个懒加载的实现过程。
实现的过程主要是引用3个主要的JS文件:
<script src="angular/1.4.8/angular/angular.min.js"></script> <script src="angular/ui-router/release/angular-ui-router.min.js"></script> <script src="angular/oclazyload/src/ocLazyLoad.min.js"></script>
然后通过 APP 配置,将依赖的脚本进行注入操作:
var app = angular.module('pkcms', ["ui.router", "oc.lazyLoad"]);
app.config(["$provide", "$compileProvider", "$controllerProvider", "$filterProvider",
function ($provide, $compileProvider, $controllerProvider, $filterProvider) {
app.controller = $controllerProvider.register;
app.directive = $compileProvider.directive;
app.filter = $filterProvider.register;
app.factory = $provide.factory;
app.service = $provide.service;
app.constant = $provide.constant;
}]);
// 按模块化加载其他的脚本文件
app.constant('Modules_Config', [
{
name: 'treeControl',
serie: true,
files: [
"Scripts/angular-bootstrap/ui-bootstrap-tpls-0.14.3.min.js"
]<br>}]);
app.config(["$ocLazyLoadProvider","Modules_Config",routeFn]);
function routeFn($ocLazyLoadProvider,Modules_Config){
$ocLazyLoadProvider.config({
debug:false,
events:false,
modules:Modules_Config
});
};
以上是初始化动态加载的配置过程。
接着是建立路由:
"use strict"
app.config(["$stateProvider","$urlRouterProvider",routeFn]);
function routeFn($stateProvider,$urlRouterProvider){
$urlRouterProvider.otherwise("/main");
$stateProvider
.state("main",{
url:"/main",
templateUrl:"views/main.html",
controller:"mainCtrl",
controllerAs:"main",
resolve:{
deps:["$ocLazyLoad",function($ocLazyLoad){
return $ocLazyLoad.load("controllers/main.js");
}]
}
})
.state("adminUser",{
url:"/adminUser",
templateUrl:"views/adminUser.html",
controller:"adminUserCtrl",
controllerAs:"adminUser",
resolve:{
deps:["$ocLazyLoad",function($ocLazyLoad){
return $ocLazyLoad.load("controllers/adminUser.js");
}]
}
})
};
最后是按路由配置的在对应目录下建2个HTML页面文件和2个JS文件用做测试
main.html
<div>
{{main.value}}
</div>
adminUser.html
<div>
{{adminUser.value}}
</div>
main.js
/**
* mainCtrl
* Created by pkcms.cn on 2016/6/24.
*/
(function () {
"use strict"
app.controller("mainCtrl", mainCtrlFn);
function mainCtrlFn() {
this.value = "Hello World";
}
}())
adminUser.js
/**
* adminUserCtrlFn
* Created by pkcms.cn on 2016/6/24.
*/
(function () {
app.controller('adminUserCtrl',adminUserCtrlFn);
function adminUserCtrlFn() {
this.value = "welcome to admin user";
}
}());
demo下载:angularjs-oclazyload_jb51.rar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# angularjs
# oclazyload
# oclazyload加载顺序
# Angular
# 动态加载
# angularjs ocLazyLoad分步加载js文件实例
# AngularJS中的按需加载ocLazyLoad示例
# JS实现图片延迟加载并淡入淡出效果的简单方法
# Webpack 实现 AngularJS 的延迟加载
# AngularJS中的Directive实现延迟加载
# javascript实现图片延迟加载方法汇总(三种方法)
# js实现延迟加载的方法
# 关于延迟加载JavaScript
# 浅析js预加载/延迟加载
# AngularJS使用ocLazyLoad实现js延迟加载
# 加载
# 菜鸟
# 首次
# 其他的
# 所需
# 很多东西
# 大家多多
# 主要是
# 目录下
# provide
# compileProvider
# filterProvider
# controllerProvider
# config
# module
# pkcms
# oc
# lazyLoad
# app
# Modules_Config
相关文章:
c# 在ASP.NET Core中管理和取消后台任务
如何快速搭建自助建站会员专属系统?
建站之星会员如何解锁更多建站功能?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
建站之星Pro快速搭建教程:模板选择与功能配置指南
如何选择香港主机高效搭建外贸独立站?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
如何在阿里云部署织梦网站?
建站之星代理如何优化在线客服效率?
如何快速搭建虚拟主机网站?新手必看指南
如何自定义建站之星模板颜色并下载新样式?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
潮流网站制作头像软件下载,适合母子的网名有哪些?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
香港服务器选型指南:免备案配置与高效建站方案解析
Python多线程使用规范_线程安全解析【教程】
如何通过VPS建站无需域名直接访问?
香港服务器如何优化才能显著提升网站加载速度?
深圳企业网站制作设计,在深圳如何网上全流程注册公司?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
建站主机SSH密钥生成步骤及常见问题解答?
北京企业网站设计制作公司,北京铁路集团官方网站?
高防服务器租用如何选择配置与防御等级?
简历在线制作网站免费版,如何创建个人简历?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
如何通过VPS建站实现广告与增值服务盈利?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
定制建站是什么?如何实现个性化需求?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
临沂网站制作公司有哪些,临沂第四中学官网?
网站制作公司排行榜,四大门户网站排名?
建站之星下载版如何获取与安装?
h5在线制作网站电脑版下载,h5网页制作软件?
如何选择域名并搭建高效网站?
一键网站制作软件,义乌购一件代发流程?
如何实现建站之星域名转发设置?
如何在Windows 2008云服务器安全搭建网站?
如何选择高效便捷的WAP商城建站系统?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何确认建站备案号应放置的具体位置?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
建站之星收费标准详解:套餐费用及年费价格表一览
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
*请认真填写需求信息,我们会在24小时内与您取得联系。