调用工厂方法时出现 Angularjs 错误
Angularjs error when calling factory method
我是 angularjs 的新手。我正在尝试在工厂中调用函数,但出现以下错误,
Error: [$injector:undef] Provider 'todoStorage' must return a value from $get factory method.
这是我的工厂,
todomvc.factory('todoStorage', function ($q,$http) {
var STORAGE_ID = 'todos-angularjs-perf';
function get(){
var promise = $q.defer();
$http.get('http://localhost/test.php').success(function(data){
promise.resolve(data);
});
return promise.promise;
}
});
这就是我调用函数的方式,
var todos = $scope.todos = todoStorage.get();
究竟发生了什么,为什么会出现此错误?
todomvc.factory('todoStorage', function ($q,$http) {
var STORAGE_ID = 'todos-angularjs-perf';
function get(){
return $http.get('http://localhost/test.php');
}
return{get:get};
});
//call the service like this
todoStorage.get().then(function(res){
$scope.todos = res.data;
});
代码未返回实际的服务工厂。由于您使用的是工厂,因此您返回了一些指向内部函数的JavaScript对象。否则,它不是一个有效的工厂,并且您的外部代码将无法访问内部 get 函数。
相关文章:
- AngularJS错误:提供程序必须从$get工厂方法返回值
- 修复AngularJS错误:提供程序必须从$get工厂方法返回值
- AngularJS错误:$interpolate:$routeParams的interr插值错误
- AngularJS错误:请求的键的值不是对象.keys@[本地代码]
- AngularJS错误处理:根据错误数组显示错误
- AngularJs 错误:$http请求虽然在控制器中定义
- Angularjs 错误中的简单选项卡系统
- AngularJS错误:$injector:unp未知提供程序-$modalInstanceProvider
- AngularJS错误”;element.childs(..).slideToggle不是函数“;
- Promise创建自定义失败不是函数Angularjs错误
- AngularJS错误:$rootScope:infdig Infinite$digest循环:达到10次$digest
- AngularJS错误:$injector:modulerr我的浏览器窗口中出现模块错误
- 使用带有AngularJS错误的ngRoute
- Angularjs:错误:'追加'对未实现接口FormData的对象调用.jQuery.param/ad
- IE中的AngularJS错误与样式与ng样式
- AngularJS 1.3 - 错误:错误:modulerr 模块错误(使用 ng-view,$routeProvide
- AngularJS 错误 current.$$route 未定义
- AngularJS 错误:$rootScope:infdig 无限$digest循环
- AngularJS 错误:无法读取未定义的属性“get”
- AngularJS错误:“参数'FirstCtrl'不是一个函数,未定义”