gpt4 book ai didi

javascript - 如何阻止vuejs方法变量更新数据变量

转载 作者:行者123 更新时间:2023-12-01 02:58:52 26 4
gpt4 key购买 nike

我有一个奇怪的 js/vuejs 问题,当变量在函数内更新时(从 data(){} 获取数据),它会上升,数据也会更新它。

这是一个代码示例。它检查用户是否没有个人资料图像,它会通过 axios 将图像名称发送到 api,如果用户已经有图像,则会将当前图像追加到列表中并将其发送到 api:

addImage (file) {
var URL = 'http://foo.com/api';

var images = this.person.images;

let att = []
if(images.length) {
att = images
att.push(file.name)
}else{
att.push(file.name)
}

axios.post(URL, {
attachements: att
}).then(

// update dom

).catch(err => {})
},

这里的问题是 this.person.images 会更新,即使我只想用它来获取当前的图像列表。

如果在执行 att.push(file.name) 时检查 if/else block ,this.person.images; 也会更新。我仅使用 att 来存储当前图像列表并将其发送到 api。

是否可以使用 this.person.image 仅获取信息?

我可以使用const att = this.person.image,但之后我将无法更新att

最佳答案

更简单的解决方案是

var images=JSON.parse(JSON.stringify(this.person.images))

避免循环。

关于javascript - 如何阻止vuejs方法变量更新数据变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46561413/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com