我有角度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
为什么呢?对我来说,症状是角度没有实例化第二工厂。我无法理解,对于第一个实例化它而不是第二个实例化,因为我对两者做同样的事情。任何线索?
答案 0 :(得分:0)
在secondFactory.js中你返回firstFactory,可能是这个原因。