码迷,mamicode.com
首页 > 其他好文 > 详细

angular service provider

时间:2014-09-12 13:25:53      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   java   ar   div   sp   cti   log   

关于  angular service factory  provider 方面有很多,我也来写一篇加深下印象。

 

provider 是一切方法的基础,所以功能也最强,provider 用来定义一个可以被注入的服务,其实就是一个依赖注入的模块。

已ng-route 为例

var ngRouteModule = angular.module(‘ngRoute‘, [‘ng‘]). provider(‘$route‘, $RouteProvider);

等价  AngularJS在模块对象上直接暴露了provider方法

    ngRouteModule.config(["$provide",function($provide) {
        $provide.provider(‘$route‘, $RouteProvider);
    }]) 

 

通过provider ,定义了$route服务。

通过provider 定义的服务会生成一个serviceProvider    例

$route服务$routeProvider, $location服务$locationProvider, $http服务$httpProvider ,$controller服务$controllerProvider

 

 

config阶段,只有provider能被注入(除了两个例外$provide和$injector)。此时可以通过serviceProvider 来设置服务中的一些私有属性 ,传一些参数,在服务模块调用之前。

例如:

 app.config([‘$routeProvider‘, function ($routeProvider) {

        $routeProvider.when(‘/view1‘, {
            template:"this is v1 "
            });

        $routeProvider.when(‘/view2‘, { //详情页面
          template:"<div class=‘view2‘>this is view 2</div> "
        });
        $routeProvider.when(‘/view3‘, { //详情页面
            templateUrl: ‘all2.html‘
        });
}])

设置 $route  服务中的routes  路由列表。

 

angular service provider

标签:blog   http   io   java   ar   div   sp   cti   log   

原文地址:http://www.cnblogs.com/breakdown/p/3967926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!