带有Grafana插件的AngularJS-错误:[$ controller:ctrlreg]控制器未注册

时间:2019-03-21 22:50:38

标签: angularjs grafana

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'的控制器。

我在做什么错了?

0 个答案:

没有答案