+
96
-

angular的依赖注入是什么?

angular的依赖注入是什么?无法理解,请高手解答

网友回复

+
16
-

依赖注入(Dependency Injection,简称DI)是一种软件设计模式,在这种模式下, 一个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,然后成为了该客户端状态的一部分。 该模式分离了客户端依赖本身行为的创建,这使得程序设计变得松耦合,并遵循了依赖反转和单一职责原则。与服务定位器模式形 成直接对比的是,它允许客户端了解客户端如何使用该系统找到依赖 .

ANGULAR依赖注入机制 AngularJS 提供了5个核心组件用来作为依赖注入: value  factory service provider constant $PROVIDE (供应商) 供应商==>泛指provider  服务==>泛指service  provider==>provider()方法创建的代码块 service==>service()方法创建的代码块 $provide服务负责告诉Angular如何创造一个新的可注入的代码块:即服务。服务会被叫做供应商的代码块来定义,我们可以使用$provide来创建一个供应商。 我们需要使用$provide中的provider()方法来定义一个供应商,同时也可以通过要求$provide被注入到一个应用的config函数中来获得$provide服务。 $PROVIDE $provide负责告诉Angular如何创建新的可注入的事物,即服务。服务是被providers定义的,即当你用$provide创建的。通过$provide服务来定义provider,你可以通过在应用的配置函数中注入$provide来持有该服务。

angular.module(‘app’,[]).config(function($provide) {
	$provide.provider('greeting', function() {
		this.$get = function() {
			return function(name) {
				alert("Hello, " + name);
			};
		};
	});
}); 

在上面的例子中我们为一个服务定义了一个叫做greeting的新provider。 我们可以把一个叫做greeting的变量注入到任何可注入的函数中 (例如控制器)然后Angular就会调用这个provider的$get函数来返回这个服务的一个实例。 在上面的例子中,被注入的是一个函数, 它接受一个参数并且根据这个参数alert一条信息。我们可以像下面这样使用它:
app.controller('MyCtrl', function($scope, greeting) {
	$scope.onClick = function() {
		greeting('Ford Prefect');
	};
});
定义供应商的方法 1、Constant Constant定义常量,Constant定义的值不应该被改变,它可以被注入到任何地方...

点击查看剩余70%

我知道答案,我要回答