用AngularJS构建单页应用,根据需求加载JS文件的方法
2014-08-07 13:10
489 查看
我们在AngularJS中可以根据网址不同直接切换view,动态加载网页模板,但是控制模板的控制器需要先定义好才可以,不能和网页模板同时加载,这样就造成整个网站的JS都要先加载完成。
requireJS是大家第一个想到的东西,但是体积有点大,github上就有个人用它写了Angular的动态加载controller模块,是通过js
promise异步编程技术实现的,最后的解决很简单~~
首先在$routeProvider里面加resolve属性,
然后
有了这个技术,我们的HybridApp就可以分成静态打包在原生应用里面的部分,和放在服务器上的动态部分,方便在不升级主App的前提下增加一些临时性的页面功能。具体应用场景大家自己想吧!
requireJS是大家第一个想到的东西,但是体积有点大,github上就有个人用它写了Angular的动态加载controller模块,是通过js
promise异步编程技术实现的,最后的解决很简单~~
首先在$routeProvider里面加resolve属性,
$routeProvider. when('/phones', { templateUrl: 'partials/phone-list.html', controller: PhoneListCtrl, resolve: PhoneListCtrl.resolve})
然后
function PhoneListCtrl($scope) { //本身不用管,该怎么弄怎么弄 } PhoneListCtrl.resolve = { delay: function($q) { var delay = $q.defer(), load = function(){ $.getScript('/js/xxxxx.js',function(){ delay.resolve(); }); }; load(); return delay.promise; } }
有了这个技术,我们的HybridApp就可以分成静态打包在原生应用里面的部分,和放在服务器上的动态部分,方便在不升级主App的前提下增加一些临时性的页面功能。具体应用场景大家自己想吧!
相关文章推荐
- JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
- 异步加载js文件并执行js方法:实现异步处理网页的复杂效果
- 动态加载JS文件的三种方法
- 使用jQuery动态加载js脚本文件的方法
- Java中动态加载properties文件,而不需要重启应用的解决方法
- 在Asp.Net头部动态加载css和js文件的方法(转)
- 根据不同环境加载不同js文件
- php ci框架中加载css和js文件失败的解决方法
- Java中动态加载properties文件,而不需要重启应用的解决方法
- 使用jQuery动态加载js脚本文件的方法
- JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
- 每日总结:每个 GROUP BY 表达式必须至少包含一个不是外部引用的列、加载页面时调用Js方法、调用Js文件中的方法
- 根据不同环境加载不同js文件
- js加载之使用DOM方法动态加载Javascript文件
- asp.net在使用母版页的内容页面中动态加载css和js文件的方法
- 异步加载js文件并执行js方法:实现异步处理网页的复杂效果
- 利用js文件加载js文件的方法
- 每个 GROUP BY 表达式必须至少包含一个不是外部引用的列、加载页面时调用Js方法、调用Js文件中的方法
- 将JS文件加载到SharePoint环境中的方法
- Asp.Net网页头部动态加载标题、描述、关键字、css和js文件的方法