首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >AngularJS提供者和模型

AngularJS提供者和模型
EN

Stack Overflow用户
提问于 2014-08-27 13:54:51
回答 1查看 50关注 0票数 0

我有一个与Web后端对话的angularjs前端。我是这个框架的新手,不知道如何将复杂的数据从web中提取到我的应用程序$scope中。然后,我将使用这个前端库在日历小部件中显示数据。

我有一个会话表和一个Session_Instance表,它们与一对多的关系连接在一起。我可以使用$http获取数据,$scope.sessions = angular.fromJson(data);将其作为对象存储在$scope中。问题是,我想在这个对象上定义方法,并将代码从控制器中提取出来,这样我就可以利用角度的DI,但是我不知道我应该使用什么,也不知道如何在角中使用。

是否有可能有复杂的数据模型的角度,使用供应商来保持它的最新应用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-27 14:02:07

如果我正确地理解了您的问题,那么正确的角度方法就是将您的数据包装成一个服务。

为了给出一个例子,这里有一些从这个博客复制的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(function () {
    var person = angular.module("person");
    person.factory("PersonService", [
        '$http',
        'httpRestValue',
        function ($http, httpRestValue) {
            var PersonService = {
                data: {
                    currentPerson: {},
                    persons : []
                },
                getPerson: function (id) {
                    return $http.get(httpRestValue + "person/"+id)
                        .success(function success(data) {
                            PersonService.data.currentPerson = data;
                        })
                        .error(function error() {
                        });
                },
                getPersons : function(){
                    return $http.get(httpRestValue + "person/list")
                        .success(function success(data) {
                            PersonService.data.persons = data;
                        })
                        .error(function error() {
                        });
                },
                savePerson : function(person){
                    return $http.post(httpRestValue + "person/",person)
                        .success(function success() {
                            PersonService.getPersons();
                        })
                        .error(function error() {
                        });
                },
                deletePerson : function(id){
                    return $http.delete(httpRestValue + "person/"+id)
                        .success(function success() {
                            PersonService.getPersons();
                        })
                        .error(function error() {
                        });
                }
        };
        return PersonService;
    }
]);
})();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25537586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文