Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了AngularJS和ng-grid – 在单元格更改后自动将数据保存到服务器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的用例很简单。用户在编辑单元格(enableCellEdit:true)后,应该将数据“自动”发送到服务器(单元格模糊)。我尝试了不同的方法,但没有一个正确的解决我有一个简约的网格:
// Configure ng-grid
$scope.gridOptions = {
    data: 'questions',enableCellSelection: true,selectedItems: $scope.selectedRow,multiSelect: false,columnDefs: [
        {field: 'id',displayName: 'Id'},{field: 'name',displayName: 'Name'},{field: 'answers[1].valuePercent',displayName: 'Rural',enableCellEdit: true}
    ]
};

例如,我试图观察传递给Grid的数据模型。但这样做不会返回我编辑的单元格:

$scope.$watch('myData',function (foo) {
    // myModel.$update()
},true);

我试图解开“ngGridEventData”数据事件,但它不会在单元格编辑后触发

$scope.$on('ngGridEventData',function (e,gridId) {
    // myModel.$update()
});

最后,我试着观察一个Cell。但是,这只对一行的工作是通过网格的“selectedCell”属性的意思:

$scope.selectedRow = [];

$scope.gridOptions = {
    selectedItems: $scope.selectedRow,}

$scope.$watch('selectedRow',function (foo) {
    console.log(foo)
},true);

是需要ng-grid plugin吗?我不能相信它不是什么开箱即用。

你有一个指针/片段如何解决自动保存/发送到服务器?

也许这是新的,但是ng-grid实际上发布的事件可以用来实现一个简单的更新更改。

事件参考:https://github.com/angular-ui/ng-grid/wiki/Grid-Events

示例代码(添加到您在其中设置网格的控制器):

$scope.$on('ngGridEventEndCellEdit',function(evt){
    console.log(evt.targetScope.row.entity);  // the underlying data bound to the row
    // Detect changes and send entity to server 
});

需要注意的一点是,即使没有进行任何更改,事件也会触发,因此您可能仍然希望在发送到服务器之前检查更改(例如通过“ngGridEventStartCellEdit”)

大佬总结

以上是大佬教程为你收集整理的AngularJS和ng-grid – 在单元格更改后自动将数据保存到服务器全部内容,希望文章能够帮你解决AngularJS和ng-grid – 在单元格更改后自动将数据保存到服务器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: