### 15.2. 基本定義
就像使用 ORM 一般要先定義 Model 一樣,使用 _$resource_ 需要先定義“資源”,也就是先定義一些 HTTP 請求。
在業務場景上,我們假設為,我們需要操作“書”這個實體,包括創建create,獲取詳情read,修改update,刪除delete,批量獲取multi,共五個操作方法。實體屬性有:唯一標識id,標題title,作者author。
我們把這些操作定義成 _$resource_ 的資源:
var app = angular.module('Demo', ['ngResource'], angular.noop);
app.controller('BookCtrl', function($scope, $resource){
var actions = {
create: {method: 'POST', params: {_method: 'create'}},
read: {method: 'POST', params: {_method: 'read'}},
update: {method: 'POST', params: {_method: 'update'}},
delete: {method: 'POST', params: {_method: 'delete'}},
multi: {method: 'POST', params: {_method: 'multi'}}
}
var Book = $resource('/book', {}, actions);
});
定義是使用使用 _$resource_ 這個函數就可以了,它接受三個參數:
- url
- 默認的params(這里的 params 即是 GET 請求的參數,POST 的參數單獨叫做“postData”)
- 方法映射
方法映射是以方法名為 key ,以一個對象為 value ,這個 value 可以有三個成員:
- method, 請求方法,'GET', 'POST', 'PUT', 'DELETE' 這些
- params, 默認的 GET 參數
- isArray, 返回的數據是不是一個列表
- Introduction
- 關于AngularJS
- 關于本文檔
- 開始的例子
- 依賴注入
- 作用域
- 數據綁定與模板
- 數據->模板
- 模板->數據
- 數據->模板->數據->模板
- 模板
- 定義模板內容
- 內容渲染控制
- 節點控制
- 事件綁定
- 表單控件
- 模板中的過濾器
- 排序 orderBy
- 過濾列表 filter
- 其它
- 例子:表頭排序
- 例子:搜索
- 錨點路由
- 路由定義
- 參數定義
- 業務處理
- 定義模板變量標識標簽
- AJAX
- HTTP請求
- 廣義回調管理
- 工具函數
- 上下文綁定
- 對象處理
- 類型判定
- 其它服務
- 日志
- 緩存
- 計時器
- 表達式函數化
- 模板單獨使用
- 自定義模塊和服務
- 模塊和服務的概念與關系
- 定義模塊
- 定義服務
- 引入模塊并使用服務
- 附加模塊 ngResource
- 使用引入與整體概念
- 基本定義
- 基本使用
- 定義和使用時的占位量
- 實例
- AngularJS與其它框架的混用(jQuery, Dojo)
- 自定義過濾器
- 自定義指令directive
- 指令的使用
- 指令的執行過程
- 基本的自定義方法
- 屬性值類型的自定義
- Compile的細節
- transclude的細節
- 把節點內容作為變量處理的類型
- 指令定義時的參數
- Attributes的細節
- 預定義的 NgModelController
- 預定義的 FormController
- 示例:文本框
- 示例:模板控制語句 for
- 示例:模板控制語句 if/else