AngularJs Service-自定义服务

在AngularJs中 ,服务是一个函数或对象,可以在你的AngularJs 应用中使用

服务是注册在模块下的

实例1:

数字:{{number}}

十六进制:{{number2}}

十六进制2:{{number|myFormat}}

JS代码:

    //在AngularJs中 ,服务是一个函数或对象,可以在你的AngularJs 应用中使用
    //在控制器、在过滤器等中都可以使用
    //AngularJS 内建了30 多个服务。
    //创建自定义服务
    var app = angular.module('myApp', []);
    app.service('hexfay', function () {
        this.getHex = function (x) {
            return x.toString(16);
        }
    });
    //要是使用定义的服务,需要再定义控制器的时候独立添加
    app.value('number', 10);
    app.controller('myCtrl', function ($scope, number, hexfay) {
        $scope.number = number;
        $scope.number2 = hexfay.getHex($scope.number);
    });
    //在过滤器中使用服务
    app.filter('myFormat', function (hexfay) {
        return function (input) {
            return hexfay.getHex(input);
        }
    });


实例2:

    

数字:{{number}}

结果:{{number2}}

JS代码:

        //创建自定义服务1
        var app = angular.module('myApp', []);
        app.service('addition', function () {
            this.add = function (x) {
                return x + 10;
            }
        });
        //创建自定义服务2,调用服务1
        app.service('multipli', function (addition) {
            this.getMulti = function (x) {
                x = addition.add(x);
                return x * 10;
            }
        });
        //要是使用定义的服务,需要再定义控制器的时候独立添加
        app.value('number', 10);
        app.controller('myCtrl', function ($scope, number, multipli) {
            $scope.number = number;
            $scope.number2 = multipli.getMulti($scope.number);
        });



你可能感兴趣的:(AngularJs)