AngularJs & ui-网格:网格忽略网格选项

AngularJs & ui-grid: grid is ignoring gridOptions

我在使用 ui-grid 时遇到问题,无法禁用 gridMenu 并重命名我的列。我做了一个 plnkr,所以你可以看到:https://plnkr.co/edit/EGhvBGOJCKPzfupjCROx?p=preview

如您在 script.js 中所见,我希望将我的专栏命名为 'banana'、'chrom' 和 'position':

var app = angular.module('myApp', ['ui.grid']);
app.service('provide', ['$http', function($http) {
   return {
    getAllVariants: function () { 
        return $http.get('./varAjax.php');
     }
    };
   }]);

app.controller('MainCtrl', ['$scope', 'provide', 'uiGridConstants',                 function($scope, provide, uiGridConstants) {

    provide.getAllVariants().success(function(data) {
        $scope.gridOptions.data = data;
        $scope.myData = data;
        console.log($scope.gridOptions);
        console.log($scope.myData);
    });

    $scope.gridOptions = {
        data: 'myData',
        enableGridMenu: false,
        showGroupPanel: true,
        enableColumnResizing: true,
        enableFiltering: true,
        showGridFooter: true,
        showColumnFooter: true,
        columnDefs: [
            { name: 'id', displayName: 'banana', width: 30 },
            { name: 'chr', displayName: 'chrom', width: 30},
            { name: 'pos_start', displayName: 'position', width: 50}
            ]
    };

}]);

数据看起来像这样:

[
 {
 "id":"1","chr":"chr1","pos_start":"11169789"
 },
 {
 "id":"2","chr":"chr1","pos_start":"11172923"
 }
]

下面是我如何称呼我的网格:

<body>
    <h1>Variants</h1>
    <div ng-app="myApp" ng-controller="MainCtrl">
      <div id="grid1" ui-grid="{ data: myData }" class="myGrid"></div>
    </div>
  </body>

将您的 HTML 更改为

<body>
    <h1>Variants</h1>
    <div ng-app="myApp" ng-controller="MainCtrl">
      <div id="grid1" ui-grid="gridOptions" class="myGrid"></div>
    </div>
  </body>

目前您只将数据传递给 UI-Grid 而不是选项,这将传递选项(例如列定义)和数据。