微信小程序里用 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>
复制代码
相关推荐
Dxy12393102167 小时前
MySQL索引完整教程:创建、查看、修改、删除与日常管理
前端·javascript·mysql
端庄的战斗机8 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
前端毕业班11 小时前
uni-app 小程序支持 teleport 了
前端·javascript·vue.js
东风破_11 小时前
LLM 为什么记不住你?无状态、messages 和上下文管理
javascript·人工智能
Hilaku12 小时前
前端架构师的克制:什么时候该坚决对新技术说不?
前端·javascript·程序员
古夕12 小时前
多应用同域部署下 Favicon 异常问题排查与治理
前端·javascript
逗逗豆巴吧13 小时前
WPS 加载项中实现当前文档直接上传
前端·javascript·ecmascript 6
妙码生花13 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(二十一):网络请求封装优化
前端·javascript·vue.js
用户114818678948413 小时前
普通Fetch、Fetch流式、Axios、SSE:谁才是流式输出的正确操作?
前端·javascript
谷哥的小弟13 小时前
TypeScript数组类型
javascript·typescript