我在使用 easyui 的内部方法后获得一个对象数据,我需要在将其作为新行附加到数据网格之前对其进行处理。
演示代码如下。
var data = $('#id').datagrid('getRows')[0];
假设数据变量的内容为 {'a':123}如果我将其处理为:data.a = 444;
然后再次运行相同的 getRows 命令:var data2 = $('#id').datagrid('getRows')[0];
结果:{'a':444}
发生了什么事?
因为easyui是一个商业代码,它已经被混淆了,所以我无法通过阅读源代码来弄清楚。
我想可能很容易实现 Set 方法,所以在我更改属性后,它会更改源数据吗?
有什么帮助吗?谢谢。
这个问题的真实演示图像
没有人试图解决这个问题,然后我继续努力。
通过 jsnice.org 美化jquery.easyui.min.js文件后,我发现了这样一个结构:
$.fn.datagrid.parseData = function (target) {
var targets = $(target);
var data = {
total: 0,
rows: []
};
因此,所有属性在一开始都存储在变量中。如果有人更改了对象值,更改将立即存储。