在幫朋友解決一個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);
留個爪印,方便遇到跟我一樣問題的伙計快速解決問題,看是不是跟我一個問題