我正试图将我的应用程序分成不同的模块,并将工厂注入控制器,我认为这是非常接近的,只是需要帮助找出差距。任何帮助都是非常感谢的。
index.html
<body ng:app='module_1'>
<script src="js/scripts/module_1.js'"></script>
<script src="js/scripts/dD/module_2.js"></script>
<script src="js/scripts/dD/module_3.js"></script>module_1.js
angular.module('module_1', ['ngCookies','module_2','module_3'])module_2.js
angular.module('module_2', [])
.factory('module_2_Fact', ['$scope', function() {
function test () {
return "test"
}
return {
test:test
}
}]);module_3.js
angular.module('module_3', ['module_2'])
.controller('module_3_Ctrl', ['$scope', function(module_2_Fact) {
console.log(module_2_Fact.test); // == > undefined
}]);module_2_Fact.test返回无法读取未定义属性的“测试”
似乎module_3找不到module_2
发布于 2015-03-23 21:12:18
请将“$scope”从module_2_Fact中删除
angular.module('module_1', ['module_2', 'module_3']).controller('MainCtrl', function($scope, module_2_Fact) {
$scope.name = "Charlie";
console.log(module_2_Fact.test)
$scope.data = module_2_Fact.test();
})
angular.module('module_2', [])
.factory('module_2_Fact', [
function() {
function test() {
return {
test: "that's my test"
}
}
return {
test: test
}
}
]);
angular.module('module_3', ['module_2'])
.controller('module_3_Ctrl', ['$scope',
function(module_2_Fact) {
console.log(module_2_Fact.test); // == > undefined
}
]);<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="module_1">
<div ng-controller="MainCtrl">
<p>Hello {{name}}!</p>
<p>{{data| json}}</p>
</div>
https://stackoverflow.com/questions/29220189
复制相似问题