vue3学习

  1. 响应式数据

    复制代码
     const searchFormState = reactive({})
     const searchFormRef = ref()

两者差不多,reactive()多用于复杂数据结构 ref()多用与简单数据结构

  1. 组件传值

    父传子

    属性传值 父组件给子组件传值属性aa值为data :aa="data"
    子组件接收数据方法 引入defineProps

    复制代码
    const props = defineProps({
    		// 可以拿到它的值
    		aa: {
    			type:Boolean,
    			default: false
    		},
    
    	})

    使用 const bb = props.aa

    子传父

    子组件使用事件触发 引入defineEmits

    复制代码
    	// 定义emit事件
    	const emit = defineEmits({ checkedItem: null, checkedGroupListItem: null })
    	....
    	///触发checkedItem事件,传递item数据
    	emit('checkedItem', item)

    父组件监听 <zujian @checkedItem="checkedItem" />

    复制代码
     const checkedItem=(item)=>{
     	...
     }

子组件中的方法需要暴露出去才能被父组件调用

复制代码
	```
	// 在子组件中抛出 onOpen方法
		defineExpose({
			onOpen
		})
	```
	
	```
	//父组件中可通过ref调用
	<zujian ref="aaRef" @checkedItem="checkedItem" />`
	const aaRef= ref()
	
	aaRef.onOpen(record)
	
	```
  1. 生命周期

    Vue3 的生命周期函数包括 beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed 等。

    beforeCreate 函数是整个 Vue3 实例创建的第一个生命周期函数它会在实例初始化之前调用,可以用来对实例进行初始化,在这个函数里可以定义一些全局变量,以及添加一些指令、过滤器等

    created 函数会在 beforeCreate 函数之后调用,这个生命周期函数用于处理数据和事件,可以在这里做一些数据处理,如获取服务器数据,定义一些自定义事件,以及定义一些全局方法等

    beforeMount 函数会在 created 函数之后调用,它用于处理 DOM操作,在这个函数里可以检查 DOM 是否正确渲染,也可以定义一些 DOM 操作,比如给某个元素设置属性,添加一些事件等。

    mounted 函数会在beforeMount 函数之后调用,它是 Vue3实例挂载完成后调用的函数,可以在这里定义一些 DOM 操作,比如改变某个元素的样式,添加某个 class 等

相关推荐
程序员大阳3 小时前
副队长JavaScript教程(49)-主动抛出异常与错误类型
javascript·异常处理·error·throw·错误类型
hhhjhl3 小时前
Protobuf.js 跨端三方库仓颉适配全流程
javascript·网络·udp
康小汪3 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
zhangrelay3 小时前
新版|-|单片机原理与接口技术-2026持续改进优化-从MEGA2560-ESP32与Wokwi到ROS2-Lyrical与具身智能栈
笔记·单片机·嵌入式硬件·学习
智能运维指南4 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
白山编程大哥5 小时前
Java 后端如何优雅地把 List 集合返回给前端
java·前端·list
Flynt6 小时前
我把热榜那篇"禁用 axios"逐条实测了一遍:结论大体对,坑在它没讲的地方
前端·javascript·axios
Csvn7 小时前
bundle优化
前端
slongzhang_7 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
北冥有鱼7 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js