当前位置: 首页 > news >正文

vue3 组件生命周期,watch和computed

背景:

Uncaught (in promise) ReferenceError: Cannot access 'state' before initialization

翻译成中文:

Uncathed(in promise)引用错误:初始化前无法访问“state”

错误原因:

在watch里面想要修改组件生命周期中创建的reactive({})创建的动态数据 

 错误代码如下:

<script setup>

import { reactive, ref, watch } from "vue";

import { useRoute, useRouter } from "vue-router";

const ruleForm = ref();

const router = useRouter();

const props = defineProps({

    isAdd: {

        type: String,

        default: "add",

    },

});

const emits = defineEmits(["clickBack"]);

const getBack = () => {

    emits("clickBack", "add");

};

//生命周期的触发时机。watch在onMounted之前

watch(

    () => props.isAdd,

    (newValue, oldValue) => {

        console.log('ajiang>>>', newValue);

        if (newValue === "edit") {

            state.homeType = "edit";

        } else {

            state.homeType = "add";

        }

    },

    {

        immediate: true,

        deep: true

    }

);

const state = reactive({

    loading: false,

    homeTitle: "航次测算",

    homeBack: "返回上级",

    homeType: "add", //edit

});

</script>

修改思路:

修改代码如下:

const props = defineProps({isAdd: {type: String,default: "add",},
});
const isAdd = computed(() => {return props.isAdd
})
watch(() => isAdd,(newValue, oldValue) => {console.log('ajiang>>>', newValue);if (newValue === "edit") {state.homeType = "edit";} else {state.homeType = "add";}},{immediate: true,deep: true}
);

 

http://www.lryc.cn/news/599416.html

相关文章:

  • SIP广播对讲系统:构建高效智能的语音通信网络
  • KNN 算法进阶:从基础到优化的深度解析
  • docker compose xtify-music-web
  • DNS 服务正反向解析与 Web 集成实战:从配置到验证全流程
  • 解决企业微信收集表没有图片、文件组件,不能收集图片的问题
  • 【57】MFC入门到精通——MFC 多线程编程总结
  • 飞算 JavaAI “撤回接口信息” 功能:误删接口不用慌,一键恢复更省心
  • 【在线五子棋对战】十、对战玩家匹配管理模块
  • 【LeetCode 热题 100】22. 括号生成——(解法一)选左括号还是选有括号
  • Java面试题(中等)
  • 使用PySide6开发系统界面并打包部署的完整教程
  • 【Redis】初识Redis(定义、特征、使用场景)
  • c++文件操作详解
  • MySQL常用日期函数总结
  • macbook安装homebrew
  • k8s常用基础命令总结
  • Dockerfile 文件及指令详解
  • Linux内核进程管理子系统有什么第八回 —— 进程主结构详解(4)
  • 代驾小程序系统开发:引领出行行业数字化转型
  • 在线笔试系统选型指南:牛客AI智能监考解决方案深度解析
  • Oracle不完全恢复实战指南:从原理到操作详解
  • RNN模型数学推导过程(笔记)
  • 基于Zigee的温度数据采集系统
  • IMU的精度对无人机姿态控制意味着什么?
  • 多层感知机(深度学习-李沐-学习笔记)
  • Oracle 的单体安装
  • SQLite中SQL的解析执行:Lemon与VDBE的作用解析
  • 扒网站工具 HTTrack Website Copier
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘streamlit’问题
  • 【SpringAI实战】实现仿DeepSeek页面对话机器人(支持多模态上传)