我正在使用Angular ui-grid,在尝试保存网格状态时出现错误。gridApi似乎是未定义的。我已经创建了一个Plunker来演示这个错误。您可以在vm.saveState函数下的View2Controller.js中找到该语句。
angular.module('app').controller('View2Controller').$inject = ['$scope', '$http', 'uigridconstants'];和
angular.module('app').controller('View2Controller', function ($scope, $http, uiGridConstants) {
var vm = this;
vm.customers = [];
vm.selectedText = '';
vm.selectedItems = [];
vm.gridOptions = {
onRegisterApi: function (gridApi) {
$scope.gridApi = gridApi;
},
data: 'vm.customers',
columnDefs: [
{
field: 'status', name: '', width: 50, sort: {
direction: uiGridConstants.DESC,
priority: 0
}
},
{
field: 'member', name: 'M', width: 50, type: 'boolean',
cellTemplate: '<input type="checkbox" ng-model="row.entity.lid" >'
},
{
field: 'company', name: 'Company', width: 200, minWidth: 200, maxWidth: 600
}
]
};
$http.get('customers.json')
.success(function (data) {
vm.customers = data;
});
vm.saveState = function(){
//debugger;
var stateToSave = $scope.gridApi.saveState.save();
console.log(stateToSave);
};
});非常感谢您的帮助。
发布于 2015-06-18 04:48:23
代码中有几个问题。一个是控制器View2Controller的两个实例。
其次,你需要在你的应用中使用'ui.grid.saveState‘模块来获得保存状态的功能。
<div>
<div ui-grid="vm.gridOptions" ui-grid-save-state class="myGrid"></div>
</div>
var app = angular.module('app', [
'ui.router',
'ui.grid',
'ui.grid.saveState'
]);看这里的plnkr
http://plnkr.co/edit/OQp4cmZiu87cjeKQwFi6?p=preview
https://stackoverflow.com/questions/30895610
复制相似问题