一、$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ù)所返回 主站蜘蛛池模板: 临颍县| 隆安县| 思茅市| 寻甸| 来凤县| 阿鲁科尔沁旗| 米脂县| 大理市| 阜新| 奉节县| 金溪县| 黄龙县| 同江市| 永兴县| 淳化县| 禹州市| 定陶县| 繁昌县| 滦南县| 晋州市| 慈利县| 天峻县| 彭州市| 科技| 保山市| 老河口市| 白银市| 东乡县| 田东县| 措美县| 宁远县| 岑溪市| 玉山县| 平湖市| 永嘉县| 长阳| 信丰县| 石景山区| 阿拉善盟| 陆河县| 永登县|