大部分documentation我已阅读有关 AngularJS 的内容谈论依赖注入(inject)。
当定义一个 Controller 时,您可以注入(inject)其他类到其中,使调用类可以访问它们的操作/属性。
因此,我已经说过,定义了一个 contentTypeFactory
,然后我将其注入(inject)到 contentTypeController
中,因此我获得了所有好处工厂并可以调用其中的属性和方法。
即:app.controller('contentTypeController', ['$scope', '$log', 'contentTypeFactory', ...
从面向对象的 Angular 来看,这看起来很像多重继承,而不是依赖注入(inject)。
有人可以澄清一下吗?
最佳答案
我认为简单的答案是你所描述的不是多重继承。
JavaScript 支持原型(prototype)继承,这不是多重继承。
当你使用依赖注入(inject)时,你更喜欢组合而不是继承。依赖关系是“HAS A”关系。这不是“IS A”关系。
在您的特定场景中,您的 Controller “有一个”contentTypeFactory。它不是 contentTypeFactory。您的 Controller 将工作委托(delegate)给它。
我希望这能回答您的问题。
关于javascript - AngularJS - 是依赖注入(inject)还是多重继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21706783/