写作绅士,读作丧尸 X岛揭示板
顺猴者昌 逆猴者亡 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 官方公众号:【X岛揭示板】 官方微博: 【@X岛极速版】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

No.58671866 - 新手求教,vue代码相关 - 技术宅


回应模式
No.58671866
名 称
E-mail
标题
颜文字
正文
附加图片
•程序语言、压制投稿、视频制作以及各计算机领域的技术问题
•我觉得还是CSDN靠谱一点
•本版发文间隔为15秒。

收起 查看大图 向左旋转 向右旋转
新手求教,vue代码相关 无名氏 2023-07-18(二)20:05:54 ID:q6tmA7C [举报] [订阅] [只看PO] No.58671866 [回应] 管理
关于为什么打印出来的是[8, 1, 0, 2, 1, 2, 2, 2]
Tips 无名氏 2099-01-01 00:00:01 ID:Tips超级公民 [举报] No.9999999 管理
(;´Д`)医生!你说话啊!
无标题 无名氏 2023-07-18(二)20:06:30 ID:q6tmA7C (PO主) [举报] No.58671873 管理
代码如下
<script setup>
import { ref } from 'vue'

const blockMod = () => {
let a = {
site: [0, 1, 0, 2, 1, 2, 2, 2],
};
console.log(a);
return [a];
};

// 所有方块数据
const allBlock = ref()

// 加载全部方块
const getBlock = () => {
allBlock.value = blockMod()
}
getBlock()
allBlock.value0[0,0].site0[0,0] = 8
console.log('allBlock.value', allBlock.value);

</script>
无标题 无名氏 2023-07-18(二)20:08:16 ID:q6tmA7C (PO主) [举报] No.58671905 管理
说的是打印的那个a的值,在函数里面的局部变量怎么会如此被修改,代码运行不是从上往下的吗
无标题 无名氏 2023-07-18(二)20:24:37 ID:lDgOVen [举报] No.58672221 管理
浅拷贝的原因吧
无标题 无名氏 2023-07-19(三)10:01:43 ID:YdWBvB8 [举报] No.58679246 管理
其实是浏览器实现的问题啦 console.log 对象的时候直到你在控制台点那个箭头展开,浏览器才去查值,也就是延迟执行了。改成 console.log(JSON.stringify(a));看看就知道了
参考 https://developer.mozilla.org/en-US/docs/Web/API/Console/log#logging_objects
无标题 无名氏 2023-07-20(四)00:00:10 ID:q6tmA7C (PO主) [举报] No.58692202 管理
>>No.58679246
还有这种说法吗,肥哥你真是我的英雄
无标题 无名氏 2023-07-20(四)00:27:42 ID:q6tmA7C (PO主) [举报] No.58692547 管理
>>No.58679246
肥哥还可以和我讲讲,为什么响应式的数据更改,a的数据也会对应更改呢
无标题 无名氏 2023-07-20(四)01:57:49 ID:YdWBvB8 [举报] No.58693384 管理
>>No.58692547
js的数组和对象都是按引用传递,直接用赋值号赋值指向的还是同一个对象/同一块内存(ゝ∀・)

UP主: