右下角点一点关注,小礼物走一走!

angular依赖注入

此代码为菜鸟教程上angular依赖注入部分的讲解,但是菜鸟教程没用写完整,并不能直接运行,所以我在这里做一些补充,直接上源码!!!

尊重版权!!(http://www.runoob.com/angularjs/angularjs-dependency-injection.html)  

AngularJS 依赖注入


什么是依赖注入

wiki 上的解释是:依赖注入(Dependency Injection,简称DI)是一种软件设计模式,在这种模式下,一个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,然后成为了该客户端状态的一部分。

该模式分离了客户端依赖本身行为的创建,这使得程序设计变得松耦合,并遵循了依赖反转和单一职责原则。与服务定位器模式形成直接对比的是,它允许客户端了解客户端如何使用该系统找到依赖

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular-animate.min.js"></script>
</head>
<body>

<div ng-app="mainApp" ng-controller="CalcController">
<!--<div ng-include="'header.html'"></div>-->
<div>{{number}}</div>
</div>

</body>
<script>
var mainApp = angular.module("mainApp", []);

// 创建 factory "MathService" 用于两数的乘积 
mainApp.factory('MathService', function() {
var factory = {};

factory.multiply = function(a, b) {
return a * b
}
//作为返回值返回
return factory;
});

// 在 service 中注入 factory "MathService"-----此处是用service自定义了一个CalcService服务
mainApp.service('CalcService', function(MathService){
this.square = function() {
return MathService.multiply(3,5);
}
});
mainApp.controller("CalcController",['$scope','CalcService',function($scope,CalcService){

//通过下面方式调用(这种方法可以实现两个控制器之间传递数据)
$scope.number = CalcService.square();
}]);

</script>
</html>

posted @ 2016-11-15 18:16  DIEW  阅读(138)  评论(0编辑  收藏  举报