• angular 服务


    在Angular里面,services作为单例对象在需要到的时候被创建,只有在应用生命周期结束的时候(关闭浏览器)才会被清除。而controllers在不需要的时候就会被销毁了。服务用于在控制器之间进行共享,用的时候只要把服务注入到控制器就可以了。

    provider(name,object)

    provider(name,constroctor)

    factory(name,$getFunction)

    service(name,constroctor())

    例子:

    用factory创建服务

    在service里面当我们仅仅需要的是一个方法和数据的集合且不需要处理复杂的逻辑的时候,factory()是一个非常不错的选择

    <script src="angular.min.js"></script>
    <!-- <script src="a.js"></script> -->
    <!-- <script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script> -->
    </head>
    <body ng-app="app" ng-controller="myController">
    </body>
    </html>

    <script>
    var app=angular.module('app',[]).factory('Items',function(){
      var items={};
      items.query=function(){
       return [
        {name:"YY",age:20}
       ];
      };
      return items;
    })
    app.controller('myController',['$scope', 'Items',function($scope, Items){
        $scope.items=Items.query();
        console.log($scope.items)
    }]);
    </script>

    provider创建服务-$get是必须的

    app.provider('age',function($filterProvider){
        this.age=10;
        this.$get=function(){
            return this.age;
        }
    });

    或者

    app.provider('age2',{
        age:12,
        $get:function(){
            return this.age+2;
        }
    });

    其他服务

    app.service("date",Date);//得到一个已有对象的实例

    仅仅定义一个$get,而且就一个常量的时候可以用value和constant,constant可以注入到config ,value不可以

    app.value('pageCount',7);//直接返回一个常量

    app.constant('pageCount',7);//直接返回一个常量

    service和value都可以直接返回一个常量

    app.service("ser",function(){
        this.name="YY";
        this.age=20
    })

    service不需要显示的返回对象,factory需要显示的返回对象 只有provider创建的服务可以注入到config里面

  • 相关阅读:
    DataGrid 的鼠标点击
    Menu菜单
    密码问题
    Combobox代码
    EndpointContracts
    the Differences between abstract class & interface in C#接口和抽象类的区别
    How to get MetaData on client side in WCF?如何在客户端获取WCF service的元数据
    Endpoint
    Assembly Essence 程序集深入探讨:程序集结构及部署
    EndpointBinding
  • 原文地址:https://www.cnblogs.com/youzhuxiaoyao/p/4936876.html
Copyright © 2020-2023  润新知