Я пытаюсь создать базовую фабрику, в которой хранятся все мои вызовы API commom, а затем распространить их на их соответствующие ресурсы, которые будут вызываться моим контроллером.
Проблема, с которой я сталкиваюсь, заключается в том,Я пытаюсь вызвать tableResource.getAll()
(см. Код ниже), он просто идет и получает URL BaseFactory, а не URL из ресурса, который я создал.
Мой код выглядит следующим образом:
BaseFactory.js
(function () {
'use strict';
angular.module('app.myapp', []).factory('BaseFactory', BaseFactory);
function BaseFactory(RequestService) {
/**
* @ngdoc property
* @name _url
* @summary The odata URL
*/
let _url = "/odata/";
/**
* @ngdoc Method
* @name _getAll
* @summary Gets the full list of items
*/
let _getAll = () => {
return RequestService.get(_url, {});
}
let service = {
url: _url,
getAll: _getAll
}
return function (options) { angular.extend(this, service, options) }
}
})();
TableResource.js
(function () {
'use strict';
angular.module('app.myapp').service('tableResource', tableResource);
function tableResource(BaseResource) {
/**
* @ngdoc function
* @name init
* @summary Initializes the resource by extending the base resource
*/
let init = () => {
var base = new BaseResource({ url: '/odata/Table' });
angular.extend(this, base);
}
init();
return this;
}
})();