сомнения о ДИ на заводе ресурса:
AFAIK ниже образца является рекомендуемым способом, чтобы придать зависимостей в Angular1:
angular.module('myApp').factory('Resource', Resource);
Resource.$inject = ['$resource', 'CONSTANTS'];
function Resource($resource, CONSTANTS) {
return $resource(CONSTANTS.server_url + '/resource/:id');
}
Но у меня возникают проблемы использовать его в сочетании с новым ключевым словом в моем контроллере:
var resource = new Resource();
Это приводит к ошибке, что CONSTANTS не определено. Используя синтаксис ниже, он работает нормально.
angular.module('myApp').factory('Resource', ['$resource', 'CONSTANTS', function($resource, CONSTANTS) {
return $resource(CONSTANTS.server_url + '/resource/:id');
}]);
Почему это происходит?
Почему вы создаете экземпляр 'Resource' самостоятельно, используя' new'? Предполагается, что вы его вводили в контроллер. – deceze
Я на самом деле вводил его на свой контроллер и создавал его с помощью нового ключевого слова, чтобы использовать его методы, такие как $ save. В документации упоминается это как возможный способ получить объект из его типа. –
Тогда вам нужно будет показать, как вы впрыскиваете его точно ... – deceze