微信小程序里用 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>
复制代码
相关推荐
Irene19914 小时前
Vue 官方推荐:kebab-case(短横线命名法)
javascript·vue.js
2501_948195345 小时前
RN for OpenHarmony英雄联盟助手App实战:符文配置实现
javascript·react native·react.js
rocky1915 小时前
网页版时钟
前端·javascript·html
一只小阿乐6 小时前
vue-web端实现图片懒加载的方
前端·javascript·vue.js
小小王app小程序开发6 小时前
抽赏小程序特殊赏玩法开发全解析:技术实现+架构支撑+合规落地
小程序·架构
2501_944521006 小时前
rn_for_openharmony商城项目app实战-商品评价实现
javascript·数据库·react native·react.js·ecmascript·harmonyos
江南西肥肥7 小时前
从手绘图到小程序,我用AI花了2个小时完成
小程序·vibecoding·claudecode
程序猿的程7 小时前
我用 stock-sdk 构建了一个个人专属的 A 股行情仪表盘
javascript·web前端
这个图像胖嘟嘟7 小时前
前端开发的基本运行环境配置
开发语言·javascript·vue.js·react.js·typescript·npm·node.js