首先,我有个按钮点击事件,点击该按钮后,触发addText方法,方法的意思大概是为对象lib.categories.Texts[0]添加textId属性,并将对象加入到dataText数组,其中id初始值是0,每次点击完事件后都+1,该方法运行在vue环境中:addText(){ let shapes = lib; Object.defineProperties(lib.categories.Texts[0], Object.getOwnPropertyDescriptors({'textId':id})); this.dataText.push(lib.categories.Texts[0]); id++; console.log(this.dataText) },但是结果却是这样的我希望的是数组第一个对象里的textId为0,第二个textId为1 当然我执行了对象的浅拷贝也是出现一样 Object.assign(lib.categories.Texts[0],{'textId':id});各位大神们有什么更好的思路或方法去实现这个功能么?
1 回答
aluckdog
TA贡献1847条经验 获得超7个赞
对象引用导致的吧
`
Object.assign({}, lib.categories.Texts[0],{'textId':id});
`
每次创建一个新对象
添加回答
举报
0/150
提交
取消