AngularJS с плагином Grafana - ошибка: контроллер [$ controller: ctrlreg] не зарегистрирован - PullRequest
0 голосов
/ 22 марта 2019

AngularJS ngResource не работает - плагин Grafana

В настоящее время я работаю над плагином Grafana, и у меня возникают некоторые проблемы с модульной системой angularJS.

Что я пытаюсь сделатьна самом деле создает сервис, который должен позволять мне вызывать внешние API и делать с ним что-то другое.

Это то, что я сделал в основном файле module.js

{
//Directive which lets use the ng-model attribute in an input file field
angular.module('grafana.services', ['ngResource'])
.directive("selectNgFiles", () => {
    return {
        require: "ngModel",
        link: function postLink(scope, elem, attrs, ngModel) {
            elem.on("change", () => ngModel.$setViewValue(elem[0].files))
        }
    }
})
.service('API', $resource => {
    return $resource('LINK/:id', {id: "@id"},
        {
            startNetwork: { method: "GET" }
        });
});
}

Иэто то, что находится в модуле, связанном со страницей плагина Grafana

class AddNetworkCtrl {

constructor($http, backendSrv) {
    this.$http = $http;
    this.backendSrv = backendSrv;

    angular.module('grafana.controllers', ['grafana.services']).controller('AddNetworkCtrl', ($scope, API) => {
        $scope.data = {
            databases: [],
            file: null,
            database: null
        };

        this.backendSrv.get('api/datasources').then(
            data => $scope.data.databases = data,
            error => sendAlert(AlertType.ERROR, 'GnB App Error', error)
        );

        $scope.loadNetwork = () => {
            API.startNetwork({id: 1}, data => {
                console.log(data);
            });
        };
    });
}

}

Проблема заключается в следующем: когда я пытаюсь загрузить эту страницу, происходит сбой и выводится консольная ошибка:

Ошибка: [$ controller: ctrlreg] Контроллер с именем 'AddNetworkCtrl' не зарегистрирован.

Что я делаю не так?

...