1
Я новичок в AngularJS, и я не могу понять, что пошло не так с моей инъекцией обслуживания.Сервисная инъекция в AngularJs
Сервис - ErrorTranslatorForApiCalls.js
(function() {
var errorTranslatorModule = angular.module('exceptionHandler');
errorTranslatorModule.factory('apiStatusTranslator', function() {
var translateStatusToFriendlyMessage = function (status) {
var friendlyMessage = "Error occured while performing the action";
switch (status) {
case 401:
friendlyMessage = "You are unauthorized to perform this action";
break;
}
return friendlyMessage;
};
return {
translateStatusToFriendlyMessage : translateStatusToFriendlyMessage
};
});
});
Вот где я ввел ее - GroupSearch.js
(function() {
agGrid.initialiseAgGridWithAngular1(angular);
var module = angular.module('groupEditor', ["ngRoute", "ngResource", "agGrid", "exceptionHandler"]);
module.constant('BASEURL', 'http://localhost/XXX.XXX.XXX/api/group/');
module.controller('SearchController', ['$scope', '$resource', 'BASEURL', "apiStatusTranslator", function ($scope, $resource, BASEURL, apiStatusTranslator) { ............ REST OF CODE GOES HERE;
Мой HTML JavaScript включает
<script src="Scripts/angular.js"></script>
<script src="Scripts/angular-resource.min.js"></script>
<script src="Scripts/angular-route.js"></script>
<script src="Scripts/ag-grid.min.js"></script>
<script type="text/javascript" src="Services/ErrorTranslatorForApiCalls.js"></script>
<script type="text/javascript" src="Controllers/GroupSearch.js"></script>
Почему вы завершаете свое обслуживание в отдельный модуль, я бы не сделал этого для одного приложения. Но в любом случае ваш код выглядит отлично. Что говорит об этом на консольном выходе? И что такое 'agGrid.initialiseAgGridWithAngular1 (угловой);'? –
Я думаю, что вам нужно ввести его один раз в объявлении модуля. Попробуйте ввести errortrans .... –
Мне не хватало * замыкания *() моей анонимной функции в * ErrorTranslatorForApiCalls.js * –