angularJS——模块加载

来源:互联网 发布:淘宝店名设计 编辑:程序博客网 时间:2024/06/11 14:16

AngularJS模块可以在被加载和执行之前对其自身进行配置。作用就是我们可以在应用的加载阶段配置不同的逻辑。

9.1配置块
1、通过config方法实现对模块的配置,AngularJS中的服务大部分都对应一个“provider”,用来执行与对应服务相同的功能或对其进行配置。
比如loghttp、locationproviderlogProvider、httpProviderlocationPorvider。
下图以$log为例进行演示,修改了配置

app.config(['$logProvider',function($log){    $log.debugEnabled(false);}]);app.controller('demoController',['$scope','$log',function($scope,$log){    $scope.showLog = function(){        $log.log('日志');        $log.warn('警告');        //已被关闭,将不再生效        $log.debug('调试');    }}]);

下图以$filter为例进行演示,实现相同功能

app.config(['$filterProvider',function($filterProvider){//注册一个名叫itcast的过滤器    $filterProvider.register('itcast',function(){    return function(input,arg){        return input +'study at itcast!' +arg;        }    });}]);

9.2运行块
服务也是模块形式存在的且对外提供特定功能,前面学习中都是将服务做为依赖注入进去的,然后再进行调用,除了这种方式外我们也可以直接运行相应的服务模块,AngularJS提供了run方法来实现。

//运行$http.$rootScope服务app.run(['$http','$rootScope',function($http,$rootScope){    $http({        method:'post';        url:'example.php'    }).success(function(data){        $rootScope.name = data;        });    }]);

不但如此,run方法还是最先执行的,利用这个特点我们可以将一些需要优先执行的功能通过run方法来运行,比如验证用户是否登录,未登录则不允许进行任何其它操作。

原创粉丝点击