首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角工厂和模块

角工厂和模块
EN

Stack Overflow用户
提问于 2018-01-24 14:43:05
回答 1查看 260关注 0票数 0

我目前正在学习如何进行平均堆栈编程,并且我遇到了一些我无法理解的代码。我试着在谷歌上搜索,但仍然不明白。

以下是代码:

代码语言:javascript
复制
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的作用是什么?代码来自这个来源

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-24 14:46:31

AngularJS工厂是AngularJS模块中的一个提供程序,它返回一组函数。

这个工厂将被注入到您的AngularJS控制器中,在这里您可以通过注入依赖关系在控制器中使用工厂的方法。

代码语言:javascript
复制
angular.module('todoService').controller('YourController', ['$scope', 'Todos', function($scope, Todos) {
    $scope.somethingToStore = Todos.get();
}]);

正如Aleksey所说,$http服务返回了一个承诺,所以最好这样做:

代码语言:javascript
复制
Todos.get().then(function(response){
    $scope.somethingToStore = response.data;
}

要解释代码块的元素:

  • Todos是你的工厂名称
  • todoService是您的角模块名。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48425149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档