$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"
}
随机推荐
- [java学习笔记]Hello World那些事
我们安装和配置好java后,必须得大展拳脚一番,根据国际惯例,第一个程序必须是Hello World,下面我们就看看Hello World的那些事. 1.Hello World的运行 Hello Wo ...
- iOS 分类思想(1)
1.需求:如果对一个类在不更改代码的基础上要为它再扩充额外的方法可以使用继承和分类 2.分类 作用:可以在不修改原来类代码的基础上,给某一个类扩充一些对象方法或者类方法,因此一个类可以有多个分类 实现 ...
- 【BZOJ】1012: [JSOI2008]最大数maxnumber 树状数组求区间最值
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1012 题意:维护一个数列,开始时没有数值,之后会有两种操作, Q L :查询数列末 ...
- 组态王6.55WEB全新发布步骤
转载请... 算了 估计没有人转..自己留着看 目的: 本教程通过组态王6.55实现一个WEB服务器和一个WEB画面的客户端,总共两个工程.服务器工程名为 Server , 客户点为 Client.S ...
- TCO 2014 Round 1A
顺利搞出 A B 两题,然后压线晋级了,手速场. A 题 , 求排列最小的,肯定从后往前来做,维护一个最小的set,只是第一个字母要特判一下. 1: #line 5 "EllysSorti ...
- Xcode常见错误以及解决方案
一.Undefined symbols for architecture x86_64: Xcode升级到5.1 新特性之一就是默认让所有App都通过64位编译器编译.原来在Xcode5.0.x的时候 ...
- appfabric 简单应用
http://msdn.microsoft.com/en-us/library/ee790941(v=azure.10).aspx Preparing the Visual Studio Projec ...
- javascript随手记
编码规范 避免使用全局变量 写在所有函数外面的变量就是全局变量. 之所以要避免使用全局变量是因为:如果有多个类库的话,它们都定义了一个名字的变量.这时候后引入的类库中该变量的值就会覆盖前面引入的类库中 ...
- Java注释模板
/** * * 项目名称:${project_name} * 类名称:${type_name} * 类描述: * 创建人:${user} * 创建时间:${date} ${t ...
- JAVA File常用的API介绍
package coreJava; import java.io.File; import java.io.IOException; public class FileDemo { public st ...