0
Hizmetimi enjekte ederek bana $ enjektör: unpr hatası veren açığı açarken sorun yaşıyorum. İşte benim kodudur:
(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;
}
// Bu ben
(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();
}
}
muhtemelen ne eksik bir fikrin üstünde oluşturulan hizmet enjekte controller.js dosyasıdır?
Sorunun sorun olup olmadığı konusunda emin değilim, ancak hizmetinizde '$ http' kullanıyorsunuz ve onu kullanmadınız. Onu kontrol cihazınıza enjekte ettiniz, ancak kontrol cihazınızda doğrudan '$ http' kullanmadığınız için orada ihtiyacınız olduğunu düşünmüyorum. Ayrıca, ana uygulamanız nerede kayıtlı? Hem "app.services" hem de "app.uploadReleases" öğelerini enjekte ettiğinizden emin olun. – Lex
@Lex Hizmetimde $ http enjekte etme konusunda iyi nokta. Ekledim Ve app.services ve app.uploadedReleases ana uygulamasında kayıtlı. – noobcoder
'ReleaseService'de' http: // http' –