zoukankan      html  css  js  c++  java
  • Angularjs中provider,factory和service的不同

    provider, factory和service都是写Angularjs的service中常用的关键字,很容易混淆,写了一个简单的例子显示他们之间的区别:

    分别用service,factory和provider定义三个service:

    复制代码
    var wtcModule = angular.module('wtc', []);
    
    wtcModule.service('testService',function(){
         this.lable = 'this is service';
    });
    
    wtcModule.factory('testFactory', function () {
         return{
            lable: function(){
            return 'this is factory';
            }
        }
    });
    
    wtcModule.provider('testProvider', function(){
        this.$get = function(){
            return 'this is provider';
        }
    });
    复制代码

    在页面上留出三个占位符:

    <body ng-controller='outputCtrl'>
        <p>{{ output1 }}</p>
        <p>{{ output2 }}</p>
        <p>{{ output3 }}</p>
    </body>

    写好outputCtrl:

    复制代码
    var wtcModule = angular.module('wtc');
    
    wtcModule.controller('outputCtrl', function($scope,testService, testFactory, testProvider){
        $scope.output1 = testService.lable;
        $scope.output2 = testFactory.lable();
        $scope.output3 = testProvider;
    });
    复制代码

    最后页面的显示结果为;

    说明:

    注入service,相当于注入service定义时的function实例。

    注入factory,相当于注入factory定义时的函数调用入口。

    注入provider,相当于注入provider内$get定义的函数实例的调用。

  • 相关阅读:
    JQuery_1
    CSS_1
    CSS_3
    CSS_4
    2020.10.19小记
    CSS_2
    IT茧
    亲爱的小C
    四五点钟的太阳
    有聊
  • 原文地址:https://www.cnblogs.com/wangyhua/p/4050542.html
Copyright © 2011-2022 走看看