自定义依赖注入的方法

1.factory('name',function () {

  return function(){

    

  }

});

2.provider('name',function(){

  this.$get=function(){

    return function(){

    }

  };

});

3.service('name',function(){

  this.n=v;

});

4.constant('name','value');

5value('name','value');

依赖的继承   $delegate指的是当前的数据

decorator('name',function($delegate){

  $delegata.a=12;

  return $delegate.a;

});

<!doctype html>
<html ng-app="text">
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="angular.js"></script>
<script>
var app=angular.module('text',[]);
//1>factory 最简单的方式,angular中实现方式相当于这里定义了,用的时候直接调用
app.factory('sum',function(){
return function(num1,num2){
return num1+num2;
};
});
app.controller('cont1',function($scope,sum){
alert(sum(12,5));
}); //2>provider 供应者,专门提供的,并且可以配置
app.provider('formJson',function(){
//此处的this相当于在原生js中的构造函数中new provider
this.$get=function(){
return {
a:12,
b:5
}
};
});
app.controller('cont2',['$scope','formJson',function($scope,formJson){
console.log(formJson);
}]); //3>servier 服务 这种方法不用return 直接在servier上挂载即可
app.service('dataText',function(){
this.showName='Jason';
this.showAge=18;
});
app.controller('cont3',['$scope','dataText',function($scope,dataText){
console.log('name:'+dataText.showName+';age:'+dataText.showAge);
}]); //4>constant 常量 不能修饰,也就是不能使用decorator的方法
app.constant('wumai','1000');
app.controller('cont4',['$scope','wumai',function($scope,wumai){
console.log('北京的PM2.5:'+wumai);
}]); //value 变量 可以修饰
app.value('jiaozi','delicious'); //decorator angular中依赖是可以继承的,也就是装饰是可以继承的
app.decorator('jiaozi',function($delegate){
$delegate.jiaozi='delicious!!!';
return $delegate;
}); app.controller('cont5',['$scope','jiaozi',function($scope,jiaozi){
console.log('冬至的饺子:'+jiaozi);
}]); </script>
</head> <body>
<div ng-controller="cont1"></div>
<div ng-controller="cont2"></div>
<div ng-controller="cont3"></div>
<div ng-controller="cont4"></div>
<div ng-controller="cont5"></div>
</body>
</html>

  

angular中自定义依赖注入的方法和decorator修饰的更多相关文章

  1. Angular4中的依赖注入

    在Angular中使用依赖注入,可以帮助我们实现松耦合,可以说只有在组件中使用依赖注入才能真正 的实现可重用的组件. 如果我们有个服务product.service.ts,其中export了一个Pro ...

  2. Asp.net core自定义依赖注入容器,替换自带容器

    依赖注入 在asp.net core程序中,众所周知,依赖注入基本上贯穿了整个项目,以通用的结构来讲解,控制器层(Controller层)依赖业务层(Service层),业务层依赖于仓储层(Repos ...

  3. ASP.NET Core中的依赖注入(1):控制反转(IoC)

    ASP.NET Core在启动以及后续针对每个请求的处理过程中的各个环节都需要相应的组件提供相应的服务,为了方便对这些组件进行定制,ASP.NET通过定义接口的方式对它们进行了"标准化&qu ...

  4. 转: 理解AngularJS中的依赖注入

    理解AngularJS中的依赖注入 AngularJS中的依赖注入非常的有用,它同时也是我们能够轻松对组件进行测试的关键所在.在本文中我们将会解释AngularJS依赖注入系统是如何运行的. Prov ...

  5. 理解AngularJS中的依赖注入

    点击查看AngularJS系列目录 理解AngularJS中的依赖注入 AngularJS中的依赖注入非常的有用,它同时也是我们能够轻松对组件进行测试的关键所在.在本文中我们将会解释AngularJS ...

  6. ABP中的依赖注入思想

    在充分理解整个ABP系统架构之前首先必须充分了解ABP中最重要的依赖注入思想,在后面会具体举出一些实例来帮助你充分了解ABP中的依赖注入思想,在了解这个之前我们首先来看看什么是依赖注入?来看看维基百科 ...

  7. Android 和 Dagger 2 中的依赖注入

    原文:Dependency Injection in Android with Dagger 2 作者:Joe Howard 译者:kmyhy 在现代开发团队中到处充斥着"你一定要用依赖注入 ...

  8. ASP.NET Core中的依赖注入(5): ServiceProvider实现揭秘 【总体设计 】

    本系列前面的文章我们主要以编程的角度对ASP.NET Core的依赖注入系统进行了详细的介绍,如果读者朋友们对这些内容具有深刻的理解,我相信你们已经可以正确是使用这些与依赖注入相关的API了.如果你还 ...

  9. ASP.NET Core中的依赖注入(5):ServicePrvider实现揭秘【补充漏掉的细节】

    到目前为止,我们定义的ServiceProvider已经实现了基本的服务提供和回收功能,但是依然漏掉了一些必需的细节特性.这些特性包括如何针对IServiceProvider接口提供一个Service ...

随机推荐

  1. java Byte[] to String(hex)

    1. 字节数组转换成16进制字符展示 2.代码 package com.goodfan; public class ByteArrayToString { private static char[] ...

  2. 企业管理咨询Interview Checklist

    企业管理咨询Interview Checklist 一. 企业战略 1. 您对公司所处行业的看法如何? 2. 请您介绍一下公司的发展历程,主要业务开展状况及核心竞争力.关键成功因素有哪些? 3. 在您 ...

  3. GJM : JavaScript 语言学习笔记

    JavaScript ------------------------------变量声明 : var a;变量赋值 : var a = 12; 函数声明 : var mAwesomeFunction ...

  4. Code First :使用Entity. Framework编程(6) ----转发 收藏

    Chapter6 Controlling Database Location,Creation Process, and Seed Data 第6章 控制数据库位置,创建过程和种子数据 In prev ...

  5. jQuery LayDate 日期控件

    她基于原生JavaScript精心雕琢,兼容了包括IE6在内的所有主流浏览器.她具备优雅的内部代码,良好的性能体验,和完善的皮肤体系,并且完全开源,你可以任意获取开发版源代码,一扫某些传统日期控件的封 ...

  6. [deviceone开发]-do_ImageView实现正圆的示例

    一.简介 我们经常需要用一个正圆形状的图片来设置头像,在do平台这个比较容易,就是通过设置圆角来实现,但是有几个小技巧需要解释一下 主要组件:do_ImageView 二.效果图 三.相关下载 htt ...

  7. javascript DOM操作

    看到一个好的dom树.

  8. “不要抄代码!自己的代码也不要抄!”

    在 Adventure 位于深圳的电子设备组装厂(SZE)里,小朱狠狠的对自己说. 他刚刚在调试 STM32F407VG 的 SPI 功能.就在昨天,他刚刚调试好了 STM32F407VG 的 USA ...

  9. Windows 双网卡指定网络出口

    主要命令: ipconfig route ping tracert     指定外网路由通过本地以太网连接出去 route add -p 0.0.0.0 mask 0.0.0.0 192.168.10 ...

  10. Mac上idea快捷键

    名称 快捷键 代码提示 ctrl + space 自动修正 alt + enter 查看调用链call hierarchy ctrl + H 查找文件 双击shift 查找类 command + N ...