$resource
属性/URL映射
AngularJS Resource:与 RESTful API 交互
自定义$resource方法
<!DOCTYPE html>
<html ng-app="app">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div ng-controller="controller">
<button ng-click="get()">get</button>
<button ng-click="query()">query</button>
<button ng-click="save()">save</button>
<button ng-click="remove()">remove</button>
<button ng-click="sendEmail()">sendEmail</button>
</div>
<script src="angular.js"></script>
<script src="angular-resource.js"></script>
<script>
angular.module('app', ['ngResource']).controller('controller', ['$scope', 'Game', function($scope, Game) {
$scope.get = function() {
// data1.json?group=1&id=id
// GET
Game.get({
gameId: 'data1',
id: 'id'
}, function(resp) {
console.log(resp) resp.name = 'jiji3'
// data2.json?group=1
// POST
// {id: "data2", name: "jiji3"}
resp.$save()
}, function(err) {
console.log(err)
})
} $scope.query = function() {
// data1.json?group=1&id=id
// GET
Game.query({
gameId: 'data1',
id: 'id'
})
} $scope.save = function() {
// data1.json?group=1&id=id
// POST
// {name: "Ari"}
Game.save({
gameId: 'data1',
id: 'id'
}, {
name: 'Ari'
})
} $scope.remove = function() {
Game.remove({}, {
gameId: 'data1',
id: 'data2'
})
/*
{
gameId: 'data1',
id: 'data2'
} 这2个{}是数据 所以匹配@id
*/
} $scope.sendEmail = function() {
Game.sendEmail({
id: 'data1'
})
}
}]).factory('Game', ['$resource', function($resource) {
/**
* $resource(url[, paramDefaults][, actions]);
* If the parameter value is prefixed with @ then the value of that parameter is extracted from the data object
* (useful for non-GET operations).
*/
return $resource('/test/test/:gameId.json', {
gameId: '@id',
group: '1'
}, {
sendEmail: {
method: 'POST'
}
})
}])
</script>
</body>
</html>
data1.json
{
"id": "data2",
"name": "jiji1"
}
data2.json
{
"id": "data1",
"name": "jiji2"
}
随机推荐
- linux下搭建nginx+php(FastCGI)+mysql运行环境
一.安装环境 1.CentOS5.5 2.php5.4 3.MySQL5.5.19 二.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安装上,可以使用rpm包安装,也可以用yum命令安装, 1 ...
- C语言使用中的细节问题总结
1.在使用bool关键字时,出现"error:'bool' undeclared(first use in this function)"的错误,原因为C语言本身是没有bool关键 ...
- el-get
el-get Table of Contents 1. 依赖 2. 安装 3. 配置 3.1. 自定义包配置 4. 命令 5. 管理扩展 el-get 是一个emacs下的扩展管理工具.就像apt-g ...
- JQuery(三) Ajax相关
JQuery大大简化了Ajax通用操作,开发者只需要指定请求URL,回调函数即可. 三个主要方法: $().param(obj):将obj参数(对象或数组)转化成查询字符串. {name:" ...
- C# 制作Zip压缩包
压缩包制作也是很多项目中需要用到的功能.比如有大量的文件(假设有10000个)需要上传,1个1个的上传似乎不太靠谱(靠,那得传到什么时候啊?),这时我们可以制作一个压缩包zip,直接传这个文件到服务器 ...
- mysql触发器的例子--插入前更新数据
本文介绍下,一个mysql触发器的例子,在数据插入前更新相关内容,有需要的朋友参考下. mysql触发器的例子,如下: view source print? 001 mysql> CREATE ...
- VC++添加工具栏
VC添加工具栏 方法一:添加ICON图标 1. 新建一个基于对话框的项目:Test 2. 在类CTestDlg中, 添加两个变量: CToolBarCtrl m_ToolBar1; CImageLis ...
- Rsync+Inotify-tools实现数据实时同步
inotify是一种强大的,细粒度的,异步文件系统时间监控机制,它可以替代crond实现与rsync的触发式文件同步,从而监控文件系统中添加,删除,修改,移动等细粒事件,从LINUX 2.6.13起, ...
- ASP.NET Core 行军记 -----第一步(艰辛的 MVC Hello World)
现在ASP.NET Core还在不断成长.更新中,说不定到了明天又换了个模样,就如同一个小孩,从蹒跚学步,到奔向未来. 所以我们可以相应的去理解更新中所发生的变化,包容它.呵护它,而不是盲目的指责与批 ...
- Microsoft SQL Server 2008 R2 中文安装说明
Microsoft SQL Server 2008 基本安装说明 安装SQL2008的过程与SQL2005的程序基本一样,只不过在安装的过程中部分选项有所改变,当然如果只熟悉SQL2000安装的同志来 ...