我在 Angular 中加载网格的保存状态时遇到了一些问题。

这是网格 HTML:

<div id="grid" kendo-grid k-options="GridOptions" k-ng-delay="GridOptions"></div>

稍后我开始我的 Http 调用并填充 $scope.GridOptions 并且网格工作正常。

然后我以这种方式保存我的网格状态:
$scope.GridOptionsBackup = kendo.stringify($scope.GridOptions);

这工作正常,当我在控制台中打印输出时。它看起来像这样:



当我尝试使用保存的状态重新加载网格时,我读取了 JSON,解析它并将其重新分配给 $scope.GridOptions。但这不起作用:
$scope.GridOptions = JSON.parse($scope.GridOptionsBackup);

为什么在这行代码之后网格没有更新?

我非常感谢您能提供的任何帮助!

最佳答案

我找到了答案:

我不得不给剑道网格起一个名字:

<div kendo-grid="GridBram" k-options="GridOptions" k-ng-delay="GridOptions"></div>

在我的 Angular 代码中,名称会自动绑定(bind)到作用域。在那里我可以使用在 jQuery 中使用的相同(奇怪的)get 和 setOptions 方法。我还使用了一个 var 来存储 JSON。

这是我的代码:
var savedState = null;

$scope.saveO = function () {
    savedState = kendo.stringify($scope.GridBram.getOptions());
    console.log(test);
}

$scope.loadO = function () {
    $scope.GridBram.setOptions(JSON.parse(savedState));
}

像这样,您可以在 Angular 中保存和加载网格的状态!

10-07 20:01
查看更多