我有一个问题,从我的应用程序传递到我创建的模块。我在下面创建了一个AngularJS模块。
(function (document, window) {
'use strict';
var piCart = angular.module('piCart', []);
piCart.config(['$routeProvider', function($routeProvider){
$routeProvider.
when('/cart', {
templateUrl: "packages/pi-cart/segments/cart.html",
controller: 'CartController',
private : true
}).
when('/checkout', {
template: "Checkout Page",
// controller: 'CartController',
private : true
});
}]);
piCart.factory('TestFactory', function(){
return{
test : function(){
return 'test works';
}
}
});
piCart.controller("CartController",function(TestFactory){
console.log("Cart Controller Running");
console.log(TestFactory.test());
});
})(document, window);
这样就加载到我的主应用程序中
var app = angular.module('app', ['ngRoute', "ui.bootstrap", "googlechart", "piCart"]);
我试图从app.controller调用模块TestFactory,如此
app.controller('ProductController',function($scope){
$scope.addToCart = function(id){
//alert("clicked: "+id);
test = TestFactory.test();
console.log(test);
};
});
但是我得到了错误
ReferenceError: TestFactory is not defined
答案 0 :(得分:0)
我相信你得到了这个错误,因为你没有在控制器中注入TestFactory:
app.controller('ProductController', function($scope, TestFactory) {
// your code...
});