vue修改数组页面不生效_Vue中数组直接修改不是不能响应吗?

这个问题其实挺有趣的,先抛结论:

数组响应确实是不会响应,但是你可以看到你页面上的数据其实会有变化

这是为什么呢?其实这里和两个概念有关:你在页面上看到的数据:其实是vue通过你的kkk的值更新对应的dom元素内部的值

vue更新dom的操作(也就是1的步骤)是异步执行的

关于1:

你应该听说过虚拟dom这个东西吧,没听说过也不要紧。具体其实就是说我们的数据映射到页面上并不是直接映射的,而是通过数据 =〉虚拟dom =〉更新真实dom这样一个过程。所以其实并不是直接你修改了你变量里的值,对应页面上dom元素的内容就直接改了,这中间有个过程。这点要记住,很重要

通过第一点的解答你知道了vue更新dom这个是有个过程的,并且这个过程他是异步的摘自vue官方文档:深入响应式原理章节

接下来我们详细介绍2: vue更新dom的操作是异步执行的

知道了vue更新dom的操作是异步的了,异步的方式具体是什么呢?根据场景支持程度分别分为setTimeout和Promise两类,分别对应创建的是JS运行时里的宏服务与微服务。宏服务与微服务的关系:一个宏服务下面可以有很多微服务,执行完一个宏服务再执行下一个宏服务。

这里的概念你可以之后在查,主要是要突出一个执行关系,就是在JavaScript运行时:第一个宏服务开始同步 => 第一个宏服务同步代码执行完成 => 第一个宏服务中微服务(Promise)代码执行完成 => 第二个宏服务(setTimeout)开始执行这样运行的,所以你可以看到无论是Promise的微

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值