vue内怎么获取改动的属性名和值?

简_洋 2020-06-28 11:05:01
有这样的需求,我请求接口获取过来一个对象数据,赋值给一个表单内,双向绑定展示出来。但是我修改了对象里的某一项,提交的时候还会把所有的属性和属性值都提交上去,有什么思路,能让我只提交修改的那一个属性和属性值?先谢谢大佬们了!!
...全文
3878 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jio可 2020-06-29
  • 打赏
  • 举报
回复
用原始的对象和提交前最后修改的对象作比较
简_洋 2020-06-29
  • 打赏
  • 举报
回复
引用 7 楼 jio可 的回复:
问题是:获取改动的属性名和值 我就说怎么就结贴了,原来不需要改属性名
嘿嘿,昨天发帖的时候,没细看,都是表单操作,不改动key。如果key都改的话后台接收了也操作不了!还是谢谢大哥了
jio可 2020-06-29
  • 打赏
  • 举报
回复
问题是:获取改动的属性名和值 我就说怎么就结贴了,原来不需要改属性名
简_洋 2020-06-29
  • 打赏
  • 举报
回复
引用 5 楼 jio可 的回复:
这个只是检测了值变化,没有检测key改变的情况 还要加上这个判断: if(this.oldForm[key] === undefined) { newObj[key] = this.addForm[key] } 其实直接把最后的所有数据给后台覆盖更简单吧,现在这样只提交修改的api还要去匹配更新。并且属性改变api根本不知道修改之前的key是什么, 还要加一个属性id去关联 let old = [ { key: 'aaa', value:'a' }, { key:'bbb', value:'b' } ] 改变aaa => { key: 'aaaa', value: 'a' }
我这边key不变,只是改变的value,而且提交时key也是不变的,确实没有把所有数据都提交来的爽,后台说你传一个也行,你都传也行。迫于leader的银威,还是改哪个传哪个吧。无奈只能徒增代码量。
jio可 2020-06-29
  • 打赏
  • 举报
回复
这个只是检测了值变化,没有检测key改变的情况 还要加上这个判断: if(this.oldForm[key] === undefined) { newObj[key] = this.addForm[key] } 其实直接把最后的所有数据给后台覆盖更简单吧,现在这样只提交修改的api还要去匹配更新。并且属性改变api根本不知道修改之前的key是什么, 还要加一个属性id去关联 let old = [ { key: 'aaa', value:'a' }, { key:'bbb', value:'b' } ] 改变aaa => { key: 'aaaa', value: 'a' }
简_洋 2020-06-29
  • 打赏
  • 举报
回复
引用 1 楼 cn00439805 的回复:
保持原有对象(可用JSON.parse(JSON.stringify(orgObj))深度复制),最后提交的时候和原始数据比较,提交有变化的部分
谢谢大佬。我用了下面的遍历对象的方式,解决了。
简_洋 2020-06-29
  • 打赏
  • 举报
回复
引用 2 楼 jio可 的回复:
用原始的对象和提交前最后修改的对象作比较
谢谢大佬。我用下面这种形式获取到了改动的值,这种写法应该没问题吧。 let newObj = {}; for (let key in this.addForm) { if (this.addForm[key] != this.oldForm[key]) { newObj[key] = this.addForm[key]; } } console.log(newObj);
cn00439805 2020-06-28
  • 打赏
  • 举报
回复
保持原有对象(可用JSON.parse(JSON.stringify(orgObj))深度复制),最后提交的时候和原始数据比较,提交有变化的部分
此文档的目录结构: 1 FCKeditor的下载及介绍 4 1.1 下载地址 4 1.2 FCKeditor下载包的介绍 4 2 FCKeditor的目录和文件精简 4 3 在页面创建FCKeditor 4 3.1 Js创建FCKeditor实例: 4 3.1.1 方法一:内嵌方法(推荐) 4 3.1.2 方法二:替换页面中的Textarea 5 3.1.3 方法三:适合于Ajax的调用方法 6 3.1.4 Js中FCKeditor对象的属性(集合)和方法 6 3.1.4.1 属性 6 3.1.4.2 集合 7 3.1.4.3 方法 7 3.1.5 FCKeditor的JS构造器 9 3.1.6 将从后台读取的数据显示在FCKeditor中 9 3.2 在Jsp中通过自定义标签创建: 9 3.3 FCKeditor API 调用 10 3.4 适时打开编辑器 10 4 修改FCKeditor的配置: 11 4.1 方法一:修改fckconfig.js 文件 11 4.2 方法二:使用一个额外的配置文件覆盖默认配置 11 4.3 配置的加载顺序 11 4.4 提示 11 4.5 一般需要修改的配置项 11 4.5.1 默认语言 11 4.5.2 自定义ToolbarSet, 去掉一些不需要的功能 12 4.5.3 加上几种常用的字体 13 4.5.4 修改“回车” 和 “Shift + 回车”的换行行为 13 4.5.5 修改编辑区的样式文件 14 4.5.6 更换表情图片 14 4.5.7 编辑区域的右键菜单功能 14 4.6 fckconfig.js配置参数选项说明 15 4.7 自定义工具栏按钮 17 4.8 自定义右键菜单 18 5 文件上传问题 19 5.1 开启和关闭文件上传功能(fckconfig.js) 19 5.2 文件上传的基本使用 19 5.3 上传中文文件名的文件会出现乱码 20 5.4 创建中文名目录会出现乱码 21 5.5 引用中文名文件的图片不能正常显示 21 5.6 控件允许上传的文件的类型 22 5.7 控制上传的文件的大小 22 5.8 增加文件删除功能 23 6 超连接重定位问题 25 7 使用FCKeditor的API 26 7.1 获得FCKeditor的实例 26 7.1.1 获得当前页FCKeditor实例 26 7.1.2 从FCKeditor的弹出窗口中获得FCKeditor实例 26 7.1.3 从框架页面的子框架中获得其它子框架的FCKeditor实例 26 7.1.4 从页面弹出窗口中获得父窗口的FCKeditor实例 26 7.2 常见的Js方法调用 27 7.2.1 插入HTML到FCKeditor 27 7.2.2 设置FCKeditor的内容(HTML) 27 7.2.3 获取FCKeditor中的XHTML 27 7.2.4 获取FCKeditor中的innerHTML和innerText 27 7.2.5 执行指定动作 28 7.2.6 统计编辑器中内容的字数 29 7.2.7 检查FCKeditor中的内容是否有改动 29 7.2.8 将FCKeditor中的内容是否有改动的值重新设置 29 8 外联编辑条(多个编辑域共用一个编辑条) 29 9 解释fck样式(CSS)的工作原理 30 10 获取FCKeditor中插入的图片 31

87,917

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧