AngularJs Factory не обновляет значение - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь создать базовую фабрику, в которой хранятся все мои вызовы 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;
    }
})();

1 Ответ

0 голосов
/ 27 марта 2019

Я не слишком много знаю о наследовании сервисов в angularjs, но кажется, что вы делаете запрос ресурса с помощью базового URL сервиса: RequestService.get(_url, {});.

И если я не ошибаюсь, когда вы создаетеуслуги по уходу за детьми, вы просто устанавливаете service.url.Вы должны использовать service.url внутри _getAll() или добавить метод установки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...