Angular工厂服务变量创建机制

时间:2016-10-13 10:05:31

标签: javascript angularjs variables service factory

我正在学习angular1,我遇到了服务和工厂。我通过传入表示所需服务名称的字符串来调用.factory()方法,如下所示。我后来能够引用一个与字符串名称相同的变量,但我从未真正创建过该变量。有谁知道为什么会这样?我想这与依赖注入有关,但我无法理解angular / js实现这种自动变量创建的机制。

app.factory('myData', function() {
    return {...}
}

app.controller('MyController',
    function MyController($scope, myData) {
        ...
    }
);

1 个答案:

答案 0 :(得分:0)

服务和工厂是Angular中的单例,并通过依赖注入模式进行实例化,它们的引用由角度核心运行时解析。

这意味着开发人员不负责直接管理引用,当执行控制器时,引用了引用,您可以相应地使用它们。

app.controller('MyController',
    function MyController($scope, myData) {
        ...
    }
);

这里的服务文档: https://docs.angularjs.org/guide/services

依赖注入: https://en.wikipedia.org/wiki/Dependency_injection