Nuxt3客户端本地数据无法更新问题求助
问题解决与相关对比说明
本地数据不更新的原因及修复
你的代码里let d = 1是普通变量,在Vue3(Nuxt3基于Vue3)的<script setup>中,普通变量不具备响应式特性,所以修改d的值不会触发视图更新。需要用ref来声明响应式变量:
修改后的代码:
<template> <div> <div>{{ d }}</div> <button v-on:click="change">点击增加</button> </div> </template> <script setup> import { ref } from 'vue' let d = ref(1); function change() { // ref变量需要通过.value修改值 d.value++ } </script>
Nuxt2与Nuxt3典型客户端应用对比
官方的Nuxt迁移指南里包含大量典型场景的对比,比如:
- 组件脚本写法:Nuxt2用
export default选项式API,Nuxt3推荐<script setup>组合式API - 响应式数据声明:Nuxt2在
data()里返回数据,Nuxt3用ref/reactive - 异步数据处理:Nuxt2的
asyncData/fetch,对应Nuxt3的useAsyncData/useFetch - 生命周期钩子:部分钩子有调整,比如Nuxt2的
created在Nuxt3客户端仍可用,但服务端渲染场景有新的钩子如useServerInit
另外,社区也有不少整理的对比内容,聚焦客户端常用场景(比如表单处理、状态管理、组件通信)的差异,核心对比点可以在Nuxt官方文档的迁移板块找到。
内容的提问来源于stack exchange,提问作者RmR
相关产品推荐
相关产品推荐

