Angular工厂没有被实例化

时间:2017-03-31 09:39:38

标签: javascript angularjs requirejs

我有角度1.4应用程序。我正在使用require.js。包含的脚本有:

define(['firstFactory', 'secondFactory'],
function(firstFactory, secondFactory){
    var app = angular.module('services', []);
    app.factory('firstFactory', firstFactory);
    app.factory('secondFactory', secondFactory);
});

在require.config中(在main.js中)我有两个工厂的路径:

"firstFactory" : "factory/firstFactory",
"secondFactory" : "factory/secondFactory"

最后在我的主控制器中我有这个:

function myCtrl(firstFactory, secondFactory) {

事情是在firstFactory.js中我有这个代码:

define([], function () {
    console.log('inside define firstFactory');
    var firstFactory = function () {
        console.log('inside function firstFactory');
    };
    return firstFactory;
});

在secondFactory.js中我有这个:

define([], function () {
    console.log('inside define secondFactory');
    var secondFactory = function () {
        console.log('inside function secondFactory');
    };
    return firstFactory;
});

在控制台中我看到:

inside define firstFactory    
inside function firstFactory
inside define secondFactory

所以我没看到

inside function secondFactory

为什么呢?对我来说,症状是角度没有实例化第二工厂。我无法理解,对于第一个实例化它而不是第二个实例化,因为我对两者做同样的事情。任何线索?

1 个答案:

答案 0 :(得分:0)

在secondFactory.js中你返回firstFactory,可能是这个原因。