首页 > 代码库 > Angularjs[13] - 定义服务 $provide 中 provider 方法

Angularjs[13] - 定义服务 $provide 中 provider 方法

服务本身是一个任意的对象,ng提供的服务过程涉及它的依赖注入机制。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <div ng-app="myApp">
        <div ng-controller="firstController">
            {{name}}
        </div>
    </div>

<script type="text/javascript" src="../../vendor/angular/angularjs.js"></script>
<script type="text/javascript" src="app/index.js"></script>
</body>
</html>
var myApp = angular.module(‘myApp‘,[],function ($provide) {
    //自定义服务
    $provide.provider(‘CustomService‘,function () {
        this.$get = function () {
            return{
                message : ‘CustomService Message‘
            }
        }
    })
});

myApp.controller(‘firstController‘,function ($scope,CustomService) {
    $scope.name = ‘Alrale‘;
    console.log(CustomService);
});

技术分享

  • angular 用 $provide 对象来实现自动依赖注入机制,注入机制通过调用一个 provider 的 $get() 方法,把得到的对象作为参数进行相关调用。
  • $provide.provider() 是一种定义服务的方法,$provide 还提供了很多很简单的方法,可以直接被 module 多引用。更多使用 factory, server 方法

 

Angularjs[13] - 定义服务 $provide 中 provider 方法