0
$ injector:unprエラーが発生する角度でサービスをインジェクトするのに問題があります。ここに私のコードは次のとおりです。
(function() {
/**
* This is a service to perform the backend REST calls for a Release
*/
'use strict';
angular.module('app.services')
.service('ReleaseService', ReleaseService);
ReleaseService.$inject = ['$http'];
function ReleaseService() {
var releaseService = {};
var releasesUrl = 'http://localhost:8080/api/releases';
releaseService.releases = getReleases;
return releaseService; // return the release service object to the controller
/**
* Get the list of the releases. Does an HTTP GET request to the backend
* @returns {Array} of releases to the caller of the service
*/
function getReleases(){
var releases = [];
$http.get(releasesUrl).then(function(responseData){
//check the status from the response data.
if(responseData.status !== 200){
alert('The request could not be completed. Please try again');
} else{
// else, Parse the json data here and return to the service caller
for(var release in responseData.data){
releases.push({slug: release, data: responseData.data[release]});
}
}
});
return releases;
}
//これは私が
(function(){
angular.module('app.uploadedReleases')
.controller('UploadedReleasesController', UploadedReleasesController)
.controller('ModalController', ModalController);
UploadedReleasesController.$inject = ['$log', '$scope', '$modal', 'ReleaseService', 'TrackService'];
function UploadedReleasesController ($log, $scope, $modal, releaseService, TrackService){
function init(){
var something = releaseService.releases();
}
}
私はおそらく何をしないのですすべてのアイデアを上に作成したサービスを注入controller.jsファイルのですか?
これが問題であるか、問題に寄与しているのかわかりませんが、あなたのサービスで '$ http'を使用していて、あなたがそれを挿入していないのかどうかはわかりません。あなたはあなたのコントローラにそれを注入しましたが、コントローラで '$ http'を直接使用していないので、そこに必要とは思いません。また、あなたのメインアプリはどこに登録されていますか? 'app.services'と' app.uploadReleases'の両方を注入していることを確認してください。 – Lex
@Lex私のサービスに$ httpを注入することについての良い点。私はそれを加えた。そして、app.servicesとapp.uploadedReleasesは私のメインアプリに登録されています。私は質問のコードを更新しましょう – noobcoder
'ReleaseService'に' $ http'がありません –