带道具的Vue3初始化变量


const props = defineProps({
a: Object
})
function calcs() {
var b = props.a;
b.push({
xxx: yyy
});
}

。一个= {x:‘y’}

每次调用函数calcs时,我都需要bb.push之前是{x: 'y'},但b一直在推xxx:yyy,有解吗?我试了ref(props.a),reactive(props.a),仍然不工作。

第一次调用calcs,输出为:

props.a={x: 'y'}  
b={x: 'y',xxx: 'yyy'}

第二次调用calcs,输出变成:

props.a={x: 'y',xxx: 'yyy'}  
b={x: 'y',xxx: 'yyy',xxx: 'yyy'}

第三次调用calcs,输出变成:

props.a={x: 'y',xxx: 'yyy',xxx: 'yyy'}  
b={x: 'y',xxx: 'yyy',xxx: 'yyy',xxx: 'yyy'}

我不知道每次调用后prop a的变化,我如何才能得到与第一次调用相同的输出:

props.a={x: 'y'}  
b={x: 'y',xxx: 'yyy'}

谢谢,我是Vue的新手。

var b = JSON.parse(JSON.stringify(props.a))修复了此问题。

相关内容

  • 没有找到相关文章

最新更新