首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试保存状态时,angular-ui-grid gridApi未定义

尝试保存状态时,angular-ui-grid gridApi未定义
EN

Stack Overflow用户
提问于 2015-06-17 23:12:40
回答 1查看 5.5K关注 0票数 3

我正在使用Angular ui-grid,在尝试保存网格状态时出现错误。gridApi似乎是未定义的。我已经创建了一个Plunker来演示这个错误。您可以在vm.saveState函数下的View2Controller.js中找到该语句。

代码语言:javascript
复制
angular.module('app').controller('View2Controller').$inject = ['$scope', '$http', 'uigridconstants'];

代码语言:javascript
复制
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);
};
});

非常感谢您的帮助。

EN

回答 1

Stack Overflow用户

发布于 2015-06-18 04:48:23

代码中有几个问题。一个是控制器View2Controller的两个实例。

其次,你需要在你的应用中使用'ui.grid.saveState‘模块来获得保存状态的功能。

代码语言:javascript
复制
<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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30895610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档