我是angularjs的初学者,我从他们的教程开始学习,但是当涉及到依赖注入(inject)时,我不太了解它的含义。
function SomeClass(greeter) {
this.greeter = greeter;
}
SomeClass.prototype.doSomething = function(name) {
this.greeter.greet(name);
}
在上面的示例中,SomeClass与创建或定位greeter依赖关系无关,它只是在实例化greeter时交给它。
这是合乎需要的,,但它负责将依赖项保持在构造SomeClass的代码上。
粗体句子实际上是什么意思?
“构成SomeClass的代码”,是否表示函数SomeClass(greeter)?
谢谢大家的建议
最佳答案
不,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的目的,该部分完全不相关。关于javascript - AngularJS依赖注入(inject),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24750512/