Angularjs[13] - 定义服务 $provide 中 provider 方法

服务本身是一个任意的对象,ng提供的服务过程涉及它的依赖注入机制。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <div ng-app="myApp">
        <div ng-controller="firstController">
            {{name}}
        </div>
    </div>

<script type="text/javascript" src="../../vendor/angular/angularjs.js"></script>
<script type="text/javascript" src="app/index.js"></script>
</body>
</html>
var myApp = angular.module(‘myApp‘,[],function ($provide) {
    //自定义服务
    $provide.provider(‘CustomService‘,function () {
        this.$get = function () {
            return{
                message : ‘CustomService Message‘
            }
        }
    })
});

myApp.controller(‘firstController‘,function ($scope,CustomService) {
    $scope.name = ‘Alrale‘;
    console.log(CustomService);
});

  • angular 用 $provide 对象来实现自动依赖注入机制,注入机制通过调用一个 provider 的 $get() 方法,把得到的对象作为参数进行相关调用。
  • $provide.provider() 是一种定义服务的方法,$provide 还提供了很多很简单的方法,可以直接被 module 多引用。更多使用 factory, server 方法
时间: 2024-10-12 15:25:02

Angularjs[13] - 定义服务 $provide 中 provider 方法的相关文章

Angularjs 自定义服务 provide 里 provider 方法 以及 factory、 service 方法以及 provider 供应商的概念

Angularjs 自定义服务 provide 里 provider 方法 以及factory. service 方法以及 provider 供应商的概念 学习要点:1. Angularjs 中的 provider 方法2. Angularjs 中的 factory 方法3. Angularjs 中的 service 方法4. provider 供应商的概念5. 研究 ionic 代码中的 services 当你初试 Angular 时,很自然地就会往 controller 和 scope 里堆

Java中的方法及方法的重载与重写

方法 定义:定义在类中的具有特定功能的独立的小程序: 方法的好处: 1.提高了代价的复用性: 2.可以简化书写: 格式: 访问修饰符 修饰符 返回值类型 方法名(参数类型 参数名称,……){ 功能代码: return 返回值: } 定义方法的时候有两个需要明确: 1.方法的返回值类型,如果方法不需要有返回值,那么返回值的类型为void: 2.需要明确参数: 注意: 1.方法以运行return语句作为结束.如果方法没有返回值,return语句可以省略不写: 2.方法中不可以再定义方法: 方法的重载

InvocationHandler中invoke()方法的调用问题

转InvocationHandler中invoke()方法的调用问题 Java中动态代理的实现,关键就是这两个东西:Proxy.InvocationHandler,下面从InvocationHandler接口中的invoke方法入手,简单说明一下Java如何实现动态代理的.         首先,invoke方法的完整形式如下: public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {

java.lang.reflect.InvocationHandler中invoke()方法调用时机

Java中动态代理的实现,关键就是这两个东西:Proxy.InvocationHandler,下面从InvocationHandler接口中的invoke方法入手,简单说明一下Java如何实现动态代理的. invoke方法的完整形式如下: public Object invoke(Object proxy, Method method, Object[] args) throws Throwable       {              method.invoke(obj, args);  

AngularJS 中 Provider 的用法及区别

在一个分层良好的 Angular 应用中,Controller 这一层应该很薄.也就是说,应用里大部分的业务逻辑和持久化数据都应该放在 Service 里. 为此,理解 AngularJS 中的几个 Provider 之间的区别很有必要. Provider 创建的新服务都可以用来注入.包括: provider factory service constant value 另外,内建的服务 $controller 和 $filter 也可以被注入,同时也可以使用这些服务来获得新的过滤器和控制器.

切点表达式定义了拦截类中所有方法,所以每个方法都被增强

1.AOP的作用 在OOP中,正是这种分散在各处且与对象核心功能无关的代码(横切代码)的存在,使得模块复用难度增加.AOP则将封装好的对象剖开,找出其中对多个对象产生影响的公共行为,并将其封装为一个可重用的模块,这个模块被命名为"切面"(Aspect),切面将那些与业务无关,却被业务模块共同调用的逻辑提取并封装起来,减少了系统中的重复代码,降低了模块间的耦合度,同时提高了系统的可维护性. 2.DI 和 IOC 概念 依赖注入或控制反转的定义中,调用者不负责被调用者的实例创建工作,该工作

lua中定义操作符行为的元方法(重载操作符)

在c++中可以重载操作符,在lua中也有,不过lua是通过元方法实现的,异曲同工,都是一样的 比如c++,重载了+之后,具体做什么都是自己实现,lua也一样 定义操作符行为的元方法有: __add 对应的运算符 '+'.  可以定义已定义操作符的表和其他表相加的行为,以及操作的值(返回值)(下同) __sub 对应的运算符 '-'. __mul 对应的运算符 '*'. __div 对应的运算符 '/'. __mod 对应的运算符 '%'. __unm 对应的运算符 '-'. 可以定义已定义操作符

Java基础---如何定义Java中的方法(三十五)

如何定义 Java 中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 一般情况下,定义一个方法的语法是: 其中: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴 2. 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void :如果方法具有返回值,则需要指定返回值的类型,并且在

在System.Object中定义的三个比较方法有何异同

分析问题 在本书前面的章节中,笔者已经介绍过System.Object中的所有方法.而其中有三个方法被设计用来进行对象的比较,它们是: (1).static bool ReferenceEquals(object A,object B). (2).static bool Equals(object A, object B). (3).virtual bool Equals(object obj). 1.静态方法:ReferenceEquals实现了类型的引用比较,从参数类型可以看出,它不仅可以用