美文网首页
自定义服务

自定义服务

作者: 小草莓蹦蹦跳 | 来源:发表于2017-10-12 19:54 被阅读0次
  • 自定义服务和自定义指令,自定义过滤器写法类似,一共有 三种关键字 定义服务

  • 使用服务必须注入,使用原生的服务注入方式是"$" + 原生服务名称。而自定义服务方式是将服务名称直接注入

    1. 通过service关键字自定义服务
<body ng-app = "app" ng-controller = "wmxController">

<p>{{said}}</p>

<script src="angular.js"></script>

<script>
    var app = angular.module('app',[]);

    //使用自定义服务:先注入自定义服务wmxService
    app.controller('wmxController',['$scope','wmxService',function ($scope,wmxService) {

        //调用服务的方法
        wmxService.say('我是调用后传递的参数');
        
        //接受函数的返回值
        $scope.said =  wmxService.say('接受函数的返回值');
    }]);
    
//    通过service关键字自定义服务
     // 参数一:自定义服务的名称
     // 参数二:回调的方法
     // this代表当前作用域(wmxService的对象)

    app.service('wmxService',function () {

        //可传递参数,也可不传递参数
        this.say = function (args) {
            alert(args);

            //也可以有返回值
            return args;
        }
    })
</script>
</body>
    1. 通过factory关键字自定义服务1 (直接把函数返回出去)
<body ng-app = "app" ng-controller = "wmxController">

<p>{{data}}</p>

<script src="angular.js"></script>

<script>
    
    var app = angular.module('app',[]);
    
    //注入自定义服务
    app.controller('wmxController',['$scope','wmxService',function ($scope,wmxService) {
        //调用自定义服务的方法,并且使用它的返回值
        $scope.data = wmxService('我是调用自定义服务后的数据');
    }]);
    
    //自定义服务:关键字factory
    app.factory('wmxService',function () {
        return function (args) {
            alert('我是自定义服务的数据');
            return args;
        }
    })
</script>
</body>
    1. 通过factory关键字自定义服务2 (返回一个函数名出去)
<body ng-app = "app" ng-controller = "wmxController">

<p>{{data}}</p>

<script src="angular.js"></script>

<script>

    var app = angular.module('app',[]);

    //注入自定义服务
    app.controller('wmxController',['$scope','wmxService',function ($scope,wmxService) {

        //调用自定义服务的方法,并且使用它的返回值
        $scope.data = wmxService.myTimer('我是调用之后的数据');

    }]);

    //自定义服务:关键字factory
    app.factory('wmxService',function () {

       //无法直接返回该函数,所以巧妙的使用了下面的方法返回出去
        function showDate(args) {
            alert('返回自定义服务中的数据');
            return args;
        }

        return{
            //key:value形式返回(取两个别名)
            myTimer:showDate
        }
    })
</script>
</body>
    1. 通过value关键字自定义服务
    • 该服务的作用是使用 angular 定义常量
    • 通过 const 定义的是常量,是不允许修改的
const wmx = 100;
//后面不能对wmx这个常量值进行修改
<body ng-app = "app" ng-controller = "wmxController">

<p>{{data}}</p>

<script src="angular.js"></script>
<script>

    var app = angular.module('app',[]);

    //注入自定义服务
    app.controller('wmxController',['$scope','username',function ($scope,username) {
        $scope.data = username;
    }]);

    //自定义服务:关键字factory
    /**
     * 相当于定义了 const username='wmx';
     * username只能永远等于wmx,不能够修改
     * 参数一:服务名称,同时也是常量,别名为username
     * 参数二:常量值为wmx
     */
   app.value('username','wmx');

</script>
</body>

相关文章

  • 自定义systend服务

    自定义systend服务 自定义systend服务,需要3个文件, dome.service 服务文件 dome....

  • 自定义服务

    自定义服务和自定义指令,自定义过滤器写法类似,一共有 三种关键字 定义服务 使用服务必须注入,使用原生的服务注入方...

  • Angular自定义服务

    3种创建自定义服务的方式。 1、Factory2、Service3、Provider 在自定义服务里注入服务示例,...

  • 3种方法实现AngularJs自定义服务

    我们可以通过factory,service,value这三种方式来自定义服务。 自定义服务与我们之前学的自定义指令...

  • 自定义服务的拓展

    自定义服务中可以绑定多个方法,并且还可以依赖其他方法(可以使用别的服务)自定义服务时,如果需要导入其它服务,必须设...

  • 关于Service的知识点(中)

    与服务的通信 Binder 在自定义服务的时候,Service本身是抽象类,所以自定义的服务必须要实现Servic...

  • 2017-5-25 AngularJs

    service 自定义服务 1.指令 内置指令 自定义指令 2.过滤器 内置过滤器 自定义过滤器 3.服务 内置服...

  • Angular(四)

    服务 angular提供了五种自定义服务方式 provider factory" service constan...

  • datatables的自定义传参

    自定义搜索:其实也就是可以把自己需要搜索的值传到服务器,服务器做对应处理,也就是自定义传参 给两个自定义的实例 p...

  • ubuntu 设置nginx 开机自启

    1.建立服务文件 说明: Description:描述服务After:依赖,当依赖的服务启动之后再启动自定义的服务...

网友评论

      本文标题:自定义服务

      本文链接:https://www.haomeiwen.com/subject/fndnyxtx.html