微信小程序里用 setData() 修改数据并打印输出 的几种写法

🧩 示例 1:打印修改前后数据

setData()异步的

复制代码
Page({
  data: {
    count: 0
  },

  addCount() {
    console.log('修改前 count =', this.data.count)
    this.setData({
      count: this.data.count + 1
    })
    console.log('修改后 count =', this.data.count)
  }
})

2、基本写法(ref)

复制代码
<script setup>
import { ref, nextTick } from 'vue'

const count = ref(0)

function addCount() {
  console.log('修改前 count =', count.value)
  count.value++

  // 因为 Vue 的响应式更新是异步的
  nextTick(() => {
    console.log('更新完后 count =', count.value)
  })
}
</script>

<template>
  <view>
    <text>当前计数:{{ count }}</text>
    <button @click="addCount">+1</button>
  </view>
</template>

3、对象类型(类似 setData({ 'user.name': xxx })

复制代码
<script setup>
import { reactive, nextTick } from 'vue'

const user = reactive({
  name: '李姐',
  age: 28
})

function updateUser() {
  console.log('修改前 user =', JSON.stringify(user))
  user.name = '小美'
  user.age = 30

  nextTick(() => {
    console.log('修改后 user =', JSON.stringify(user))
  })
}
</script>

<template>
  <view>
    <text>{{ user.name }}({{ user.age }}岁)</text>
    <button @click="updateUser">更新用户</button>
  </view>
</template>
复制代码
相关推荐
cn_mengbei12 小时前
用React Native开发OpenHarmony应用:Reanimated共享元素过渡
javascript·react native·react.js
kyriewen12 小时前
前端测试:别为了100%覆盖率而写测试,那是自欺欺人
前端·javascript·单元测试
Data_Journal12 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
掌心向暖RPA自动化12 小时前
如何获取网页某个元素在屏幕可见部分的中心坐标影刀RPA懒加载坐标定位技巧
java·javascript·自动化·rpa·影刀rpa
竹林81813 小时前
wagmi v2 多链钱包切换:一个 Uniswap 仿盘项目让我踩了三天坑
前端·javascript
你也向往长安城吗13 小时前
最快的 JavaScript navmesh pathfinding3d 算法。
javascript
滕青山13 小时前
在线PDF拆分工具核心JS实现
前端·javascript·vue.js
兔子零102415 小时前
Ofox AI值得用吗?
前端·javascript·后端
We་ct15 小时前
React 性能优化精讲
前端·javascript·react.js·性能优化·前端框架·html·浏览器
渣渣盟17 小时前
Spark 性能调优实战:从开发到生产落地
javascript·ajax·spark