angular $provide factory constant value

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_15253407/article/details/73650156
angular  创建服务的四种方式

    第一种 $provide  内置服务创建
        angular.module('app', [], function($provide) {
            $provide.factory('$kk', function() {
                var obj = {
                    name: 'hello'
                };
                return obj;
            })
        }).controller('myCtrl', function($scope, $kk) {
            console.log('$kk', $kk);
        })

    第二种 factory 模块方法    
        angular.module('app', [])
        .factory('$kk',function() {
            return {};
        }).controller('myCtrl', function($scope, $kk) {
            console.log('$kk', $kk);
        })


    第三种 service  模块方法
        //需要传递一个构造函数,必须是一个构造函数
        angular.module('app', [])
        .service('$kk', function() {
            this.name = 'hello';
            this.say = function() {
                return this.name + 'world';
            }
        }).controller('myCtrl', function($scope, $kk) {
            console.log('$kk', $kk.name);
            console.log('$kk', $kk.say());
        })  

        constant和value 创建服务用来返回一个常量

    第四种  value  
        angular.module('app', [])
        .value('$kk',{
            HELLO: 'hello'
        }).controller('myCtrl', function($scope, $kk) {
            console.log('$kk', $kk.HELLO); // hello
            //借助angular.extend() 可以修改常量值。 需要借助$RATE 内置的服务
            angular.extend($RATE, {HELLO: 'world'})
            console.log('$kk', $kk.HELLO); //world
        })

        constant 用法和 value 相同 两者之间最大的区别是,constant服务创建的常量可以被注入到config之中去,所以constant常用来创建配置数据,value用来创建对象和函数。 

猜你喜欢

转载自blog.csdn.net/qq_15253407/article/details/73650156