$resource是一个更方便地与RESTful服务器API进行交互,可以方便地定义一个REST资源,而不必手动所有的声明CRUD方法的Service。

使用

1.要使用$resource首先要在HTML中引入它的独立的js文件;

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular-resource.js"></script>

2.在app中添加对应的依赖注入;

var app = angular.module('helloApp, ['ngResource']);

3.为资源建立一个factory;

app.factory('Notes',['$resource', function(){
return $resource('/notes/:id');
}]);

注:当然,你也可以不把$esource的实例放到Factory里,直接在控制器中存起来:var Notes = $resource('/notes/:id)

4.进行增删改查(CRUD)的操作

app.controller('NotesCtrl',['$scope','Notes',function(){
var notes = Notes.query(function(){
//GET or POST code
}); var note = new Notes({content:'xxx'});
}]);

$resource提供了五种默认操作:get, query, save, remove, delete。你可以配置一个update操作来完成HTTP PUT。

app.factory('Notes', ['$resource', function($resource){
return $resource('/notes/:id', null, {
update:{method:'PUT'}
});
}]);

在创建控制器时引入ngResource

var helloApp = angular.module("helloApp", [ 'ngResource' ]);
helloApp.controller("HttpController", [ '$scope', '$resource', function($scope, $resource) {
//code
} ]);

用POST方法来提交表单信息

var helloApp = angular.module("helloApp", [ 'ngResource' ]);
helloApp.controller("HttpController", [ '$scope', '$resource', function($scope, $resource) {
$scope.users = [
{
'firstname': 'Ajitesh',
'lastname': 'Shukla',
'address': 'Hyderbad',
'email': 'ajitesh101@gmail.com'
},
{
'firstname':'Sumit',
'lastname':'Jha',
'address':'Muzaffarpur',
'email':'sumitjha2011@yahoo.com'
},
]; $scope.saveUser = function(){
// 创建一个resource对象
var User = $resource('/user/new'); // 调用save方法
//(其实和我们$http.post(url,data).success(function(){})是一样的,只是它封装一下而已)
User.save(
{
firstname:$scope.firstname,
lastname:$scope.lastname,
address:$scope.address,
email:$scope.email
},
function(response){
$scope.message = response.message;
}
);
};
}]);

最新文章

  1. js实现可拖动Div
  2. VUE---Missing space before function parentheses
  3. C语言共用体内存计算
  4. 转 基于Quick-cocos2dx 2.2.3 的动态更新实现完整篇。(打包,服务器接口,模块自更新
  5. ajax。表单
  6. ecshop数据库操作类
  7. Codeforces 459E Pashmak and Graph
  8. ImageMagick wrapper for php
  9. Python创建多进程,用Queue传递信息
  10. Eclipse rap 富客户端开发总结(3):rcp/rap目前界面上的一些差异
  11. W班-项目选题报告成绩
  12. Mybatis中的逆向工程
  13. apache http添加证书转成https
  14. 程序员买房指南——LZ的三次买房和一次卖房经历
  15. Redis 配置内容总结
  16. linux下后台启动springboot项目
  17. python dict的函数
  18. Codeforces807 C. Success Rate 2017-05-08 23:27 91人阅读 评论(0) 收藏
  19. java设计模式-----18、职责链模式
  20. SpringBoot.资料

热门文章

  1. Matlab图像匹配问题
  2. VirtualBox安装及Linux基本操作(操作系统实验一)
  3. linux 环境配置要点
  4. 深入浅析JavaScript的API设计原则(转载)
  5. Scrum 项目2.0 3.0
  6. 微信小程序组件 模块化错和叹号
  7. 给表格控件DBGrid加上记录序号的列
  8. linux 关机、重启
  9. C# 抽签小程序
  10. MyFlash闪回恢复数据