vue .splice is not a function解决方案

在帮朋友解决一个vue的问题的时候,想删除数组里面的一个元素,在网上查询使用splice方法,但一直报错,提示jtConlist.splice is not a function,找了好长时间,也没找到问题

splice是数组的方法,按道理肯定有这个方法,除非jtConlist不是数组,使用typeof查看后,果然不是数组,而是个object对象,既然不是数组,肯定也没有splice方法了。

查看了再vue中data中的定义,发现定义的就是数组,在有个地方修改值的时候修改了数组元素的属性值,采用的是this.$data.jtConlist = Object.assign({}, this.$data.jtConlist);这种方式。

难道问题出现在这,assign后面的大括号是个对象,后面是个数组,难道两个合并后就是个对象了。

把那个大括号换成[]后,果然可以了。

this.$data.jtConlist = Object.assign([], this.$data.jtConlist);

留个爪印,方便遇到跟我一样问题的伙计快速解决问题,看是不是跟我一个问题

posted @ 2021-04-27 22:11  sharestone  阅读(10215)  评论(1编辑  收藏  举报