AngularJS依赖注入

时间:2014-07-15 05:34:16

标签: javascript angularjs code-injection

我是angularjs的初学者,我开始通过他们的教程学习,但是当涉及到依赖注入时,我不太明白这是什么意思

function SomeClass(greeter) {
  this.greeter = greeter;
}

SomeClass.prototype.doSomething = function(name) {
  this.greeter.greet(name);
}

在上面的示例中,SomeClass不关心创建或定位greeter依赖关系,它只是在实例化时交给了greeter。

这是可取的,但是它负责控制构造SomeClass的代码的依赖。

粗体句的实际含义是什么?

“构造SomeClass的代码”,这是否意味着函数SomeClass(greeter)

感谢大家的建议

1 个答案:

答案 0 :(得分:1)

不,function SomeClass(greeter)是构造函数。

构造SomeClass的代码就是在这个上下文中的任何代码所做的(某些事情)

var greeter = new Greeter();
var someInstance = new SomeClass(greeter);

这通常是DI框架代码中的某个地方。

底部部分是在Javascript中为类声明成员函数的方法之一(几种)之一。

SomeClass.prototype.doSomething = function(name) {
  this.greeter.greet(name);
}

所有这一切都是为了确保SomeClass的每个实例都具有doSomething功能。为了解释DI那部分是完全无关的。