一、$resource服務(wù)介紹
$http服務(wù)提供的實(shí)現(xiàn)極為簡(jiǎn)單和低級(jí),可以用來發(fā)送XHR請(qǐng)求,同時(shí)它還為你提供了很大的可控性和靈活性。但是,在大多數(shù)情況下,我們需要處理對(duì)象,以及封裝了特定屬性和方法的對(duì)象模型,例如一個(gè)person對(duì)象(帶有詳細(xì)信息),或者一個(gè)信用卡對(duì)象。
$resource就是為這一功能而設(shè)計(jì)的。AngularJS中的resource(資源)允許我們用描述性的方式來定義對(duì)象模型,它可以描述以下內(nèi)容:
使用Angular所提供的$resource對(duì)象,你可以根據(jù)各種需求查詢服務(wù)器;除此之外,你還可以把服務(wù)端返回的對(duì)象當(dāng)成已經(jīng)持久好的數(shù)據(jù)模型,你可以修改它們,并且可以把它們持久化。
ngResource是一個(gè)獨(dú)立的、可選的模塊,因此,并沒有默認(rèn)包含在Angular中, 為了使用它,需要:
1、在加載的腳本文件中包含angular-resource.js.
例如: <script src="http://cdn.bootcss.com/angular-resource/1.5.8/angular-resource.min.js"></script>
2、在模塊依賴聲明中包含ngResource
例如: angular.module(‘myapp', [‘ngResource'])
3、在需要的地方使用注入的$resource服務(wù)。
格式: var obj=$resource(url,[,paramsDefaults],[,actions])
obj表示請(qǐng)求服務(wù)器指定url地址后返回的`$resource`對(duì)象,該對(duì)象中就包含了**與服務(wù)端進(jìn)行數(shù)據(jù)交互的全部API**。
參數(shù)url表示請(qǐng)求服務(wù)器的地址,其中允許占位符變量,該變量必須以`:`為前綴
例如:
`var obj=$resource('url?action=:act');` `obj.$save{act:'save'}`那么,在執(zhí)行save動(dòng)作時(shí),向服務(wù)端發(fā)送的實(shí)際地址就為`url?action=save`。
此外,可選參數(shù)`paramsDefaults`是一個(gè)對(duì)象,用于設(shè)置請(qǐng)求時(shí)的默認(rèn)參數(shù)值,在發(fā)送請(qǐng)求時(shí),該對(duì)象中的全部值將自動(dòng)進(jìn)行序列化,如遇占位符變量自動(dòng)替換,并將結(jié)果添加到url請(qǐng)求之后
代碼如下:
var obj=`$resource`('url?action=:act',{ act:'save', a:'1', b:'2' });執(zhí)行上述代碼后,向服務(wù)器發(fā)送的實(shí)際地址是`url?action=save&a=1&b=2`。
另外一個(gè)可選參數(shù)`actions`的功能是擴(kuò)展默認(rèn)資源動(dòng)作,例如,可以在該對(duì)象中自定義新的方法:
var boj=$resource('url?action=:act',{ ... },{ a:{ method:'get' } });然后就可以在$resource對(duì)象中直接調(diào)用在可選參數(shù)actions中自定義的方法a,即obj.$a()
二、 $resource服務(wù)所返回 主站蜘蛛池模板: 盐津县| 禹城市| 图片| 琼结县| 柳林县| 乌鲁木齐市| 左权县| 怀来县| 宜阳县| 中西区| 大埔县| 安岳县| 渭南市| 合水县| 天峻县| 杭州市| 西吉县| 常德市| 长宁区| 竹北市| 六枝特区| 怀集县| 晋城| 张家界市| 通辽市| 安阳县| 浙江省| 确山县| 东安县| 昌都县| 黔南| 鄯善县| 黄平县| 综艺| 繁昌县| 中牟县| 古交市| 旅游| 泰宁县| 南和县| 盐津县|