AngularJS提供商和模型
AngularJS Providers and Models
我有一个angularjs前端,它与Web API后端进行通信。我是这个框架的新手,不确定如何将复杂的数据从web api拉入我的应用程序$scope。然后,我将使用这个前端库在日历小部件中显示数据。
我有一个Session表和一个SessionInstance表,它们通过一对多关系链接在一起。我可以使用$http来获取数据,然后$scope.sessions = angular.fromJson(data);
将其作为对象存储在$scope中。问题是,我想在这个对象上定义方法,并从控制器中提取代码,这样我就可以利用angular的DI,但我不知道我应该使用什么,也不知道如何在angular中使用。
有可能在应用程序中使用提供者来保持最新的复杂数据模型吗?
如果我正确理解您的问题,正确的方法是将数据包装为服务。
举个例子,这里有一些从这个博客复制的代码:
(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;
}
]);
})();
相关文章:
- AWS Cognito:通过 google 获取“请提供有效的公共提供商”
- 角度模态服务未知提供商
- 选择下拉列表需要在选中时显示提供商的详细信息-无法通过我的脚本显示url
- 从服务提供商 IP 地址获取设备 IP 地址
- JsFiddle:未知提供商:$intervalProvider <- $interval
- 工厂和控制器,未知提供商
- 未知提供商:$resourceProvider - AngularJS
- 未知提供商:捆绑后$resourceProvider
- ES2015 单例或服务提供商或模块,用于敲除.js组件
- $http提供商向 Github API 发出外部请求,但不向 Google 地图 API 发出请求
- Angular Js:工厂、服务和提供商.何时使用哪个
- AngularJS + RequireJS.未知提供商:$routeProvider
- 为什么我必须添加尾部'提供商'到服务名称,当我使用es6时
- Chrome中阻止的视频-运行视频提供商的不安全内容
- 如何在AngularJs中设置来自其提供商的服务的依赖关系
- 单个<提供商>用于许多组件
- 角度:为ng模型提供方法
- 从PhoneGap JavaScript访问Android上的内容提供商
- 未知提供商AngularJs在添加“时”;.运行”;
- AngularJS提供商和模型