У модуля bcbankApp.accsummary AccountSummaryController должна быть функция getAccountSummary, НЕ УКАЗАННАЯ в angular js - PullRequest
0 голосов
/ 16 января 2020

Я работаю над приложением Banking, используя Angularjs на хакерранке, где я застрял в точке. Я пытаюсь вызвать свою функцию из контроллера итоговых счетов, но он говорит, что такой функции в моем контроллере не существует

Вот мой код

AccountSummarycontroller. js

 // Create the controller AccountSummaryController with getAccountSummary function that access accountSummaryService which is already defined in account-summary.service.js. Use $state for Transition from one page to another.


(function() {
    'use strict';
   var appContr = angular.module('abcbankApp.accountSummary', ['abcbankApp.accountSummaryService']);
    appContr.controller('AccountSummaryController', function(AccountSummaryService) {
    var ActSumCtrl = this;
   // this.AccountSummaryService.getAccountSummary();
    ActSumCtrl.accountList = [];
    ActSumCtrl.accountList = AccountSummaryService.getAccountSummary();
    });

})();

AccountSumaaryService. js

// Create the service AccountSummaryService with getAccountSummary function which should return the account details from data/account-summary.json using $http.get.

(function() {
    'use strict';

     var appServc = angular.module('abcbankApp.accountSummaryService', []);
appServc.factory('AccountSummaryService', ['$http',
  function($http) {
    return {
      getAccountSummary: function() {
          var data;
          $http.get('./data/account-summary.json')
         .then(function(response) {
           data = response.data;
        });
        return data;
      }
    };
  }]);

})();

Но я получаю сообщение об ошибке, как показано ниже

Модуль abcbankApp.accsummary AccountSummaryController должен иметь функцию getAccountSummary FAILED. Ожидаемое значение false, чтобы быть истинным.

Testfile. js

  describe('AccountSummaryController', function() {

            it('Controller definition', function() {
                expect(AccountSummaryController).toBeDefined();
            });



            it('should have a getAccountSummary function', function() {
                expect(angular.isFunction(AccountSummaryController.getAccountSummary)).toBe(true);
            });

        });
    });

})();

Любая помощь будет оценена. Заранее спасибо

1 Ответ

1 голос
/ 16 января 2020

Хорошо, чтобы ответить на ваш вопрос, давайте начнем с вашего тестового примера, поскольку он показывает, что AccountSummaryController.getAccountSummary должен быть определен

Так что вам следует вызывать вашу функцию с именем вашего контроллера и именем функции

Вот модифицированный код

(function() {
    'use strict';
   var appContr = angular.module('abcbankApp.accountSummary', ['abcbankApp.accountSummaryService']);
    appContr.controller('AccountSummaryController', function(AccountSummaryService) {
    var ActSumCtrl = this;
   // this.AccountSummaryService.getAccountSummary();


    ActSumCtrl.accountList = [];
     ActSumCtrl.getAccountSummary=function()
    {
       //move your logic here
    }
    ActSumCtrl.accountList = AccountSummaryService.getAccountSummary();
    });

})();

Дайте мне знать в комментариях, сработало это или нет

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