我懷疑你的版本是0.9.19。我首先建議你移到版本1.0rc4。 1.0版本即將上線並且穩定,但它在0.9版本上有很多重大改變。您可以看到Angular documentation瞭解更多信息。
在v1.0中,您將所有內容都包含在模塊中:控制器,服務,指令等等。創建一個模塊,像這樣:
var module = angular.module('ModuleName', ['ngResource']);
在1.0版本的資源服務分解出來爲自己的類,所以你必須給它作爲一個依賴。您還必須在您的應用中包含resource js文件。
現在創建一個服務,您可以簡單地使用模塊API。在這種情況下:
module.factory('Player', ['$resource', function($resource) {
return $resource('/player/get');}]);
請注意,對$ resource的依賴性是通過角度注入的。
我個人不喜歡惹我的服務裏面的範圍,所以我有我的控制器內的以下內容:
module.controller('MyController', ['$scope', 'Player', function($scope, Player) {
$scope.select = function(email) {
console.log("selecting");
Player.get({
email: email
}, function(player) {
$scope.selectedPlayer = player;
});
};
}]);
注意,在1.0的範圍也被注入到控制器,以便不再使用自己。另外,我冒昧地假設selectedPlayer只包含來自播放器的字段,所以我只是將播放器直接寫入selectedPlayer的頂部。您也可以手動逐場進行,或者使用angular.extend($scope.selectedPlayer, player);
合併兩個對象。
這裏是小提琴:http://jsfiddle.net/DukvU/