Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 无法读取属性';名称';未定义的_Angularjs_Angular Ui Grid - Fatal编程技术网

Angularjs 无法读取属性';名称';未定义的

Angularjs 无法读取属性';名称';未定义的,angularjs,angular-ui-grid,Angularjs,Angular Ui Grid,我的rest调用从数据库返回数据。我单独测试了rest服务调用,发现一切正常。当我尝试在前端显示它时,我得到以下错误: 'TypeError:无法读取未定义的属性'name' 当我使用chrome进行调试时,我注意到了错误消息,但无法找出问题所在 控制器 mdmApp.controller('draftReportTypeCalendarController', function($scope, $http, $location, $routeParams) { $scope.

我的rest调用从数据库返回数据。我单独测试了rest服务调用,发现一切正常。当我尝试在前端显示它时,我得到以下错误:

'TypeError:无法读取未定义的属性'name'

当我使用chrome进行调试时,我注意到了错误消息,但无法找出问题所在

控制器

mdmApp.controller('draftReportTypeCalendarController', function($scope, $http, $location, $routeParams) {

        $scope.isSelected = false;
        $scope.buttonsDisabled = false;

        $scope.showSpinner = true;

        // TODO: routeParam reportTypeYear
        $http.get("/mdmservice/services/draftReportTypeCalendar")
            .success(function(data, status, headers, config) {
                $scope.draftReportTypeCalendars = data;
                if (data.errorMessage != null) {
                        $scope.error = true;
                        $scope.success = false;
                        $scope.errorMessage = data.errorMessage + ". [Error code : " + data.errorCode + "].";
                        $scope.buttonsDisabled = true;
                    } else {
                        $scope.error = false;
                        if($scope.draftReportTypeCalendars.length == 0){
                            $scope.warn = true;
                            $scope.warnMessage = "No records found."
                        }
                        //$scope.success = true;                        
                        //$scope.successMessage = "To be decided"
                        $scope.buttonsDisabled = false;
                    }
                }
            )
            .error(function(data, status, headers, config, statusText) {
                $scope.error = true;
                $scope.errorMessage = "A system error occured. Please contact EBA IT Helpdesk."
                $scope.buttonsDisabled = true;
            })
            .finally(function () {
                $scope.showSpinner = false;
            });


        $scope.gridOptions = {
                paginationPageSizes: [23, 50, 100, 200, 300, 400, 500, 1000],
                paginationPageSize: 23, 
        };

        $scope.gridOptions.data = 'draftReportTypeCalendars';
        $scope.gridOptions.enableFiltering = true;
        $scope.gridOptions.enableGridMenu = true;
        $scope.gridOptions.fastWatch = true;

        $scope.gridOptions.multiSelect = false;

        $scope.gridOptions.columnDefs = [ 
            {
                name : "referenceDate", width : "15%"
            },                          
            {
                name : "reportType", width : "10%"
            },
            {
                name : "entityName", width : "35%"
            }
        ];

        $scope.gridOptions.onRegisterApi = function(gridApi){
            // set gridApi on scope
            $scope.gridApi = gridApi;
            gridApi.selection.on.rowSelectionChanged($scope,function(row){
              $scope.selectedId = row.entity.entityId;
              $scope.isSelected = row.isSelected;
            });
          };   
浏览器日志

TypeError: Cannot read property 'name' of undefined
    at Grid.buildColumns (ui-grid.js:4436)
    at columnDefsWatchFunction (ui-grid.js:3176)
    at ui-grid.js:3162
    at Scope.$digest (angular.js:16664)
    at Scope.$apply (angular.js:16928)
    at done (angular.js:11266)
    at completeRequest (angular.js:11464)
    at XMLHttpRequest.requestLoaded (angular.js:11405)  

列定义中没有“名称”选项

列定义中没有“名称”选项

你能发布相关的堆栈跟踪日志吗?添加了我的浏览器日志扫描你发布了相关的堆栈跟踪日志吗?添加了我的浏览器日志“name”-在我的所有其他功能中都可以正常工作。这不是问题所在,这令人惊讶。看起来您正试图在使用“name”的地方设置“field”,但如果它与其他函数一起工作,那么我该和谁争论呢。另一个想法是尝试将columnDefs调用从$scope.gridOptions中分离出来,因为我在答案中引用的ui网格wiki中的示例。“name”在我的所有其他函数中都可以正常工作。这不是问题所在,这令人惊讶。看起来您正试图在使用“name”的地方设置“field”,但如果它与其他函数一起工作,那么我该和谁争论呢。另一个想法是尝试将columnDefs调用从$scope.gridOptions中分离出来,就像我在回答中引用的ui网格wiki中的示例一样。