我是angularjs的初学者,我开始通过他们的教程学习,但是当涉及到依赖注入时,我不太明白这是什么意思
function SomeClass(greeter) {
this.greeter = greeter;
}
SomeClass.prototype.doSomething = function(name) {
this.greeter.greet(name);
}
在上面的示例中,SomeClass不关心创建或定位greeter依赖关系,它只是在实例化时交给了greeter。
这是可取的,但是它负责控制构造SomeClass的代码的依赖。
粗体句的实际含义是什么?
“构造SomeClass的代码”,这是否意味着函数SomeClass(greeter)?
感谢大家的建议
答案 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那部分是完全无关的。