我使用Yeomen創建了一個使用腳手架的角度應用程序。我想o從我的REST服務發送並獲取數據,但是我遇到了資源提供者的問題。AngularJS中的未知資源提供程序
我有一個簡單的控制器:
angular.module('fronterApp')
.controller('ClubCtrl', function ($scope, ClubService) {
$scope.find = function(){
$scope.club = ClubService.find();
};
});
服務:
var app = angular.module('fronterApp');
app.service('ClubService', function (ClubResource) {
var find = function(){
return ClubResource.find({id: 1});
};
return{
find: find
};
});
我的資源提供者:
var app = angular.module('fronterApp', ['ngResource', 'ngRoute']);
var server = 'http://localhost:8080';
app.run(function($http) {
$http.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded';
$http.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
});
app.factory('ClubResource', function($resource) {
return $resource(server + '/api/clubs/:id', {id: '@id'});
});
現在我想在控制器的數據,使用服務,使用提供者。但經過運行的應用程序,JS控制檯說:
Error: [$injector:unpr] Unknown provider: ClubResourceProvider <- ClubResource <- ClubService
我已經加入<script src="bower_components/angular-resource/angular-resource.js"></script>
到index.html的,我試圖在服務使用['ngResource']
,但沒有任何工程。此外,如果我添加['ngResource']
我沒有在控制檯中看到這個錯誤,但沒有顯示來自club.html的html(僅顯示來自服務器的html)的html。我的意思是,沒有視圖加載。 我不知道,爲什麼我的服務無法在這裏注入資源提供者。
UPDATE: 現在,我改變了我的服務:
angular.module('fronterApp')
.service('ClubService', function (ClubResource) {
var get = function() {
return ClubResource.get({id: 1});
};
return {
get: get
};
});
和資源(但得到的是默認的,所以我認爲這是不必要的):
var app = angular.module('fronterApp');
var server = 'http://localhost:8080';
app.run(function ($http) {
$http.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded';
$http.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
});
app.factory('ClubResource', function ($resource) {
return $resource(server + '/api/clubs/:id', {id: '@id'}, {
get: {
method: 'GET'
}
});
});
你改變了'$ scope.club = ClubService.find();'到'$ scope.club = ClubService.get();' –
是的,我做過了。這兩個聯名都不適合我。 – allocer