zoukankan      html  css  js  c++  java
  • Angular JS 自定义服务

    Angular JS 自定义服务 


    定义服务的方式有如下几种:

        1 变量方式(value Recipe)
        2 工厂方式(factory Recipe)
        3 服务方式(service Recipe)
        4 供应者方式(provider Recipe)
        5 常量方式(Constant Recipe)
        6 特殊目的对象(Special Purpose Objects)

    使用value来定义

        var mainApp = angular.module("mainApp",[]);
        
        mainApp.controller('MyController', ['clientId', function MyController(clientId) { 
        this.clientId = clientId; 
        }]);

    使用factory方法

            mainApp.factory("myService",[function(){
                    return {
                        name:"abc"
                    }
                }]);
                
         注:工厂方式 能够创建任何类型的服务,对象常量,方法,甚至一个自定义类型的实例。

    使用service方法

        app.service('myService',function(){
            this.name = 'abc';
            this.value = 'value';
        });

    使用provider来定义

        mainApp.provider('myService', [function() {
            return {
                    name:"abc"
                }
        }]);


        注意:factory和service能注入内置服务,而provider是不能注入内置服务的

    总结:

        1 注入器通过使用 recipes 来创建两种类型的对象:服务和特殊目的对象。
        2 一共有五种类型的 recipe 用于定义如何创建对象:变量、工厂、服务、供应者和常量。
        3 工厂和服务是最常用的方式。两者仅有的不同是服务方式对于自定义类型对象效果更好,而工厂方式可以提供 JavaScript 基元和方法。
        4 供应者方式是核心方式,所有其它方式都是它的语法糖。
        5 供应者是最复杂的方式类型。除非你正在构建一段需要全局配置的可重用代码,否则不要使用它。
        6 所有特殊目的对象都通过工厂方式来定义,除了控制器。

  • 相关阅读:
    ST表
    容斥原理
    扩展欧几里得算法
    C++ 快读快写模板
    单例模式的装饰器实现
    使用python+poco+夜神模拟器进行自动化测试
    使用Airtest超快速开发App爬虫
    mysql优化
    在浏览器中输入URL并回车后都发生了什么?
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/muqnly/p/4986069.html
Copyright © 2011-2022 走看看