我正在使用ui网格和306_expandable_grid,我使用了与文档中相同的确切代码,但是我面临一个错误问题。
app.js
$http.get('resources/data/title2.json')
.success(function(data){
console.log(data);
console.log(data[0].Data);
console.log(data.length);
for(i = 0; i < data[i].length; i++){
data[i].subGridOptions = {
columnDefs: [
{name:"Title" },
{name:"Jan-10" },
{name:"Feb-10"},
{name:"Mar-10" },
{name:"Apr-10" },
{name:"May-10" },
{name:"Jun-10" },
{name:"Jul-10" },
{name:"Aug-10" },
{name:"Sep-10" },
{name:"Oct-10" },
{name:"Nov-10" },
{name:"Dec-10" }
],
data: data[i].Data
}
}
// $scope.subGridOptions.data = data;
$scope.gridOptions.data = data;
// $scope.title = data[0].Title;
});externalHtmlFile.html
<div ui-grid="row.entity.subGridOptions" style="height:150px;"></div>这是我一直在犯的错误
TypeError: Cannot read property 'data' of undefined
at new <anonymous> (http://localhost/ng-Grid/resources/scripts/ui-grid-unstable.js:2883:41)
at Object.e [as invoke] (http://localhost/ng-Grid/resources/scripts/angular.min.js:36:456)
at E.instance (http://localhost/ng-Grid/resources/scripts/angular.min.js:75:118)
at http://localhost/ng-Grid/resources/scripts/angular.min.js:58:276
at r (http://localhost/ng-Grid/resources/scripts/angular.min.js:7:408)
at M (http://localhost/ng-Grid/resources/scripts/angular.min.js:58:260)
at http://localhost/ng-Grid/resources/scripts/angular.min.js:65:412
at http://localhost/ng-Grid/resources/scripts/angular.min.js:109:276
at h.$eval (http://localhost/ng-Grid/resources/scripts/angular.min.js:123:139)
at h.$digest (http://localhost/ng-Grid/resources/scripts/angular.min.js:120:220)当我点击加号图标时,会发生错误.我找不到一个我能理解的解决办法。请帮帮忙
发布于 2014-10-30 23:48:18
首先,确保在$scope.gridOptions success回调之外初始化success。只在$scope.gridOptions.data[i].subGridOptions回调中将$scope.gridOptions添加到success。参考文献
不能在成功调用中定义网格选项。您需要在控制器的作用域上定义它们,然后设置数据或列定义,等等.成功的召唤。
其次,确保网格/页面的控制器没有任何类型的依赖于初始化参数的重定向。由于页面上有以下代码,我遇到了相同的错误消息:
if (typeof clientcode === 'string' && clientcode !== '') {
var payload = {
clientcode : storedClientcode
}
} else {
$location.path('/');
}这里的想法是检查storedClientcode是否由调用页面提供(通过共享的应用程序根服务),如果没有,则重定向到应用程序主页。但是用户界面网格显然是在上对页面进行单独的子调用,而那些子调用当然不提供我在代码中寻找的数据,因此这些调用的重定向发生在幕后。没有产生错误(除了您已经看到的错误),网格中也没有显示数据。这花了我一些时间(我对AngularJS相当陌生,这是ui网格的第一个应用程序)。希望这会对某人有所帮助,即使它不能解决这个问题。
https://stackoverflow.com/questions/26639233
复制相似问题