我目前正在学习如何进行平均堆栈编程,并且我遇到了一些我无法理解的代码。我试着在谷歌上搜索,但仍然不明白。
以下是代码:
angular.module('todoService', [])
.factory('Todos', ['$http',function($http) {
return {
get : function() {
return $http.get('/api/todos');
},
create : function(todoData) {
return $http.post('/api/todos', todoData);
},
delete : function(id) {
return $http.delete('/api/todos/' + id);
}
}
}]);有人能解释一下.factory()到底在做什么吗?另外,参数'Todos‘和todoService的作用是什么?代码来自这个来源。
发布于 2018-01-24 14:46:31
AngularJS工厂是AngularJS模块中的一个提供程序,它返回一组函数。
这个工厂将被注入到您的AngularJS控制器中,在这里您可以通过注入依赖关系在控制器中使用工厂的方法。
angular.module('todoService').controller('YourController', ['$scope', 'Todos', function($scope, Todos) {
$scope.somethingToStore = Todos.get();
}]);正如Aleksey所说,$http服务返回了一个承诺,所以最好这样做:
Todos.get().then(function(response){
$scope.somethingToStore = response.data;
}要解释代码块的元素:
Todos是你的工厂名称todoService是您的角模块名。https://stackoverflow.com/questions/48425149
复制相似问题