Angular 工厂和模块
Angular factory and module
我目前正在学习如何进行 MEAN Stack 编程,并且遇到了一些我无法理解的代码。我试图在 Google 上搜索,但仍然不明白。
代码如下:
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 有什么用?代码来自这个source.
AngularJS Factory 是您的 AngularJS 模块中的提供者,它 returns 一组功能。
该工厂将可注入到您的 AngularJS 控制器中,您可以在其中通过注入依赖项在控制器中使用工厂的方法。
angular.module('todoService').controller('YourController', ['$scope', 'Todos', function($scope, Todos) {
$scope.somethingToStore = Todos.get();
}]);
正如Aleksey所说,$http
服务returns一个承诺,这样会更好:
Todos.get().then(function(response){
$scope.somethingToStore = response.data;
}
解释您的代码的元素:
Todos
是你的厂名
todoService
是你的 angular 模块名称
我目前正在学习如何进行 MEAN Stack 编程,并且遇到了一些我无法理解的代码。我试图在 Google 上搜索,但仍然不明白。
代码如下:
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 有什么用?代码来自这个source.
AngularJS Factory 是您的 AngularJS 模块中的提供者,它 returns 一组功能。
该工厂将可注入到您的 AngularJS 控制器中,您可以在其中通过注入依赖项在控制器中使用工厂的方法。
angular.module('todoService').controller('YourController', ['$scope', 'Todos', function($scope, Todos) {
$scope.somethingToStore = Todos.get();
}]);
正如Aleksey所说,$http
服务returns一个承诺,这样会更好:
Todos.get().then(function(response){
$scope.somethingToStore = response.data;
}
解释您的代码的元素:
Todos
是你的厂名todoService
是你的 angular 模块名称