微信小程序里用 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>
复制代码
相关推荐
青企通7 小时前
电商小程序购物车与库存扣减:SKU 模型、合并规则与防超卖实践
小程序·apache
AI源码7 小时前
家乡介绍小程序
小程序·notepad++
2501_9159214312 小时前
iOS应用耗电测试:使用Energy Log、Keymob和Instruments进行性能监控与能源消耗分析
android·ios·小程序·https·uni-app·iphone·webview
_菜鸟果果12 小时前
高德地图 JS API 2.0 在国产 Linux/ARM 电脑上渲染失败 的排查与解决
linux·开发语言·javascript
迷途小羔羊13 小时前
项目概述
java·javascript·后端
迷迭绿13 小时前
Cesium 轨迹回放播放器
前端·javascript·cesium
tryCbest14 小时前
Vue3——第 7 篇:组件基础——从注册到使用的完整流程
前端·javascript·vue.js
txc15 小时前
我用 AI 给两个人写了个微信小程序(二):从「能用」到「用得对」
微信小程序
FX1317887KP_15 小时前
KET/PET/FCE备考攻略:口语训练的三大误区与科学训练路径
小程序·ket口语·pet口语·fce备考·剑桥英语