TypeError:XXX未定义AngularJS $ inject属性注释

时间:2018-06-04 18:25:03

标签: angularjs dependency-injection grid angular-ui angular-ui-grid

Angular UI Grid获取Cell Vaule

我正在使用angular grid ui,我正在尝试使用getCellValue基于行和列获取单元格的vaule。

我收到错误

无法获得财产' $$未定义'未定义或空引用

如何根据行和列从单元格中获取vaule?

angular.module('app', ['ngAnimate', 'ngTouch', 'ui.grid','ui.grid.resizeColumns','ui.grid.pinning','ui.grid.grouping',
    'ui.grid.moveColumns','ui.grid.exporter','ui.grid.selection','ui.grid.selection', 'ui.grid.cellNav']).controller('MainCtrl', MainCtrl);

    MainCtrl.$inject = ['$http', 'uiGridConstants','$interval','$scope'];

    function MainCtrl($http, uiGridConstants,$scope) {
        var vm = this;
        vm.gridOptions = { //vm
          exporterMenuCsv: true,
          enableGridMenu:true,
          onRegisterApi: function(gridApi){
            vm.gridApi = gridApi; //vm
          }
        };

        $http.get('/getProjects')
          .then(function(response) {
            //Loop through the response
            //If the vaule is 255 set the color of the cell to ect.
            var responseData = response.data
              console.log(vm.gridApi.grid.getCellValue(1,1));
              //console.log(responseData[i].Iuk)
         });
      }

1 个答案:

答案 0 :(得分:1)

注射阵列与功能参数不匹配:

MainCtrl.$inject = ['$http', 'uiGridConstants','$interval','$scope'];

function MainCtrl($http, uiGridConstants,$scope) {

来自文档:

  

$inject属性注释

     

使用此类注释时,请注意使注释数组与函数声明中的参数保持同步。

     

— AngularJS Developer Guide - Dependency Injection

使用Implicit Annotation可以避免此问题。像ng-annotate这样的工具允许您在应用中使用隐式依赖注释,并在缩小之前自动添加数组注释。