AngularJS 使用引入與整體概念

2018-07-26 17:10 更新

ngResource 這個(gè)是 ng 官方提供的一個(gè)附加模塊。附加的意思就是,如果你打算用它,那么你需要引入一人單獨(dú)的 js 文件,然后在聲明“根模塊”時(shí)注明依賴的 ngResource 模塊,接著就可以使用它提供的 $resource 服務(wù)了。完整的過程形如:

<!DOCTYPE html>
<html ng-app="Demo">
<head>
<meta charset="utf-8" />
<title>AngularJS</title>
<script type="text/javascript"
        src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.min.js" rel="external nofollow" ></script>
<script type="text/javascript"
        src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular-resource.js" rel="external nofollow" ></script>
</head>
<body>

  <div ng-controller="TestCtrl"></div>


<script type="text/javascript" charset="utf-8">

var app = angular.module('Demo', ['ngResource'], angular.noop);
app.controller('TestCtrl', function($scope, $resource){
  console.log($resource);
});

</script>
</body>
</html>

$resource 服務(wù),整體上來說,比較像是使用類似 ORM 的方式來包裝了 AJAX 調(diào)用。區(qū)別就是 ORM 是操作數(shù)據(jù)庫(kù),即拼出 SQL 語句之后,作 execute 方法調(diào)用。而 $resource 的方式是構(gòu)造出 AJAX 請(qǐng)求,然后發(fā)出請(qǐng)求。同時(shí),AJAX 請(qǐng)求是需要回調(diào)處理的,這方面, $resource的機(jī)制可以使你在一些時(shí)候省掉回調(diào)處理,當(dāng)然,是否作回調(diào)處理在于業(yè)務(wù)情形及容錯(cuò)需求了。

使用上 $resource 分成了“類”與“實(shí)例”這兩個(gè)層面。一般地,類的方法調(diào)用就是直觀的調(diào)用形式,通常會(huì)返回一個(gè)對(duì)象,這個(gè)對(duì)象即為“實(shí)例”。

“實(shí)例”貫穿整個(gè)服務(wù)的使用過程?!皩?shí)例”的數(shù)據(jù)是填充方式,即因?yàn)楫惒疥P(guān)系,回調(diào)函數(shù)沒有執(zhí)行時(shí),實(shí)例已經(jīng)存在,只是可能它還沒有相關(guān)數(shù)據(jù),回調(diào)執(zhí)行之后,相關(guān)數(shù)據(jù)被填充到實(shí)例對(duì)象當(dāng)中。實(shí)例的方法一般就是在類方法名前加一個(gè) ,調(diào)用上,根據(jù)定義,實(shí)例數(shù)據(jù)可能會(huì)做一些自動(dòng)的參數(shù)填充,這點(diǎn)是區(qū)別實(shí)例與類的調(diào)用上的不同。

好吧,上面這些話可能需要在看了接下來的內(nèi)容之后再回過來理解。


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)