AngularJS 定義$resource的資源

2018-07-26 17:10 更新

就像使用 ORM 一般要先定義 Model 一樣,使用 $resource 需要先定義“資源”,也就是先定義一些 HTTP 請(qǐng)求。

在業(yè)務(wù)場(chǎng)景上,我們假設(shè)為,我們需要操作“書”這個(gè)實(shí)體,包括創(chuàng)建create,獲取詳情read,修改update,刪除delete,批量獲取multi,共五個(gè)操作方法。實(shí)體屬性有:唯一標(biāo)識(shí)id,標(biāo)題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 這個(gè)函數(shù)就可以了,它接受三個(gè)參數(shù):

  • url
  • 默認(rèn)的params(這里的 params 即是 GET 請(qǐng)求的參數(shù),POST 的參數(shù)單獨(dú)叫做“postData”)
  • 方法映射

方法映射是以方法名為 key ,以一個(gè)對(duì)象為 value ,這個(gè) value 可以有三個(gè)成員:

  • method, 請(qǐng)求方法,'GET', 'POST', 'PUT', 'DELETE' 這些
  • params, 默認(rèn)的 GET 參數(shù)
  • isArray, 返回的數(shù)據(jù)是不是一個(gè)列表


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)