我试图在angularJS中使用工厂,但是我没有按预期工作。
这是我的控制器:
as.controller('Test', ['testFactory', function($scope, $http, $rootScope)
{
$http.get($rootScope.appUrl + '/nao/test/test')
.success(function(data, status, headers, config) {
$scope.test = data;
});
$scope.form = {};
$scope.submitForm = function(isValid) {
if(isValid)
{
testFactory.testFactoryMethod(function($http) {
$scope.test = data;
});
}
};
}]);
如您所见,我将工厂“包括”到控制器中。
这是我的工厂:
.factory('testFactory', function($http) {
return {
testFactoryMethod: function(callback) {
return $http('http://127.0.0.1:81/test/test', data).success(function(data) { callback(data);
});
}
};
});
运行此命令时,出现以下错误消息:
Error: $http is undefined
@http://127.0.0.1:82/nao/js/controllers.js:82:3
有人可以帮助我吗?
我认为您忘记了$ http.post:
$ http(url,data)应该是$ http.post(url,data)
正如其他人之前所说的,您需要将testFactory注入到controllers函数中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句