首页 > 其他分享 >Vue3得通信方式

Vue3得通信方式

时间:2024-05-13 17:23:09浏览次数:10  
标签:count defineExpose 方式 useAttrs 通信 let Vue3 组件 ref

1 父向子 props (defibeProps) , 子向父自定义事件(defineEmits)
2 时间总线(mitt插件)
3 v-model (可以绑定多个v-model)
a 给子组件传递props[modelValue]
b 给子组件传递自定义事件 @update:modelValue
列子: <Child v-model:name="name" v-model:sex="sex>

4 useAttrs(引入useAttrs方法,可以获取组件的属性和自定义事件,可以在子组件拿到父组件传递过来的值)

  1. useAttrs()会返回一个对象,需要import {useAttrs} form "vue
    2 但是使用defineProps,useAttrs不生效,defineProps优先级高

5 ref(可以获取真是DOM, 也可以获取子组件实例的VC) $parent(可以子组件获取父组件实例)
重点: 结合 defineExpose使用,组件内部数据不能被外部使用,需要 defineExpose暴露出去
a. ref 在父组件获取子组件实例通过 const son = ref(), 然后子组件defineExpose暴露给父组件使用的方法
b $parent 父组件defineExpose暴露给子组件使用的方法, 子组件通过事件拿到$parnet参数 @click = handle($parnet )

6 provide 提供 inject 注入(隔辈子传值)
a provide提供数据,接受俩个参数,第一个为key; 第二个为传递的值 provide(‘token’, 123123)
b inject 接受数据 会根据key let val = inject('token')
c 可以在孙子组件修改传递的值,父组件也会更新
7 pinia(打菠萝) 有 state action getter核心 无module mutation
a createPainia() 创建大仓库,然后再main.ts 引入
b (选择式API)defineStoe 定义小仓库,俩个参数,仓库名字 和配置对象
let store = defineStore('user', {
state: () => { return { count: '12313'}},
action: () => {
update () {
// 注意为context上下问啦,所一需要this
this.count ++
}
},
getter: () => {}
})

c (组合式API)defineStoe 定义小仓库,俩个参数,仓库名字 和配置对象
let store = defineStore('user', () => {
let count = ref(666)
update () {count ++ }
注意: getter 用computed 代替
return {
count ,update
}

})

8 插槽(作用域插槽)
子组件可以将数据传递回给父子间,然后父子通过回传数据来写子组件何种结构进行展示

标签:count,defineExpose,方式,useAttrs,通信,let,Vue3,组件,ref
From: https://www.cnblogs.com/zw100655/p/18189606

相关文章

  • winform控件 datagridview分页功能 界面实现需要有上一页下一页等操作控件 dataGridV
    以下提供一个示例来说明如何在WinForms中实现分页功能,并在分页中实现数据修改并保存的操作。首先,我们需要一个包含数据源的DataGridView控件,并添加上一页、下一页等操作控件来实现分页功能。接下来,我们需要实现数据的加载、分页、修改和保存功能。这里我将提供一个简单的例......
  • vue3 - App.vue示例1
    示例1App.vue<!--插入Vue库的CDN链接--><scriptsrc="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script><scriptsetup>importHelloWorldfrom'./components/HelloWorld.vue'</script><templa......
  • 理解独立思考的定义后,可以设计一种评估方式来衡量个体的独立思考能力。以下是一种可能
    理解独立思考的定义后,可以设计一种评估方式来衡量个体的独立思考能力。以下是一种可能的评估方式:独立思考等级评估方式1.自主性(Autonomy)自我启发(Self-Inspiration):个体是否能够自主地提出问题或主张观点,而不是依赖外部指导或命令。自我引导(Self-Guidance):个体是否能......
  • 使用python在windows系统操作快捷方式
    其实问题是由上一篇文章(https://www.cnblogs.com/anpengapple/p/18179353)的结尾引出来的。不需要了解背景的话,我现在需要做的是,右键打开桌面上的chrome快捷方式的属性,在目标的后面增加一个参数。我不想傻傻地手动添加,想交给程序来处理。 首先需要简单来说一下,windows的快捷方式......
  • sql优化思路以及方式
    后端服务的性能优化是一个永恒的话题。这一篇随笔主要记录一下在各种业务场景下,sql优化的一些思路以及方式。note:DML(datamanipulationlanguage)是数据操纵语言:它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。DDL(datad......
  • (转载)数据结构-01-图解后缀表达式值计算方式
    目录:数据结构-01-图解后缀表达式值计算方式数据结构-02图解中缀表达式转后缀表达式并计算值1.简介问题:我们平常使用的数学表达式大多数是“中缀表达式”例如:9+(3-1)×3+10÷2,对人比较友好,但是这个对计算机计算并不友好,因为计算机无法智能判断运算顺序的问题(比如说乘法加......
  • 某东h5st 3.x-4.x 本篇web端4.7的生成方式和逆向分享
    前言本文中所有的内容仅供学习交流,禁止非法用途和商业行为。产生的一切后果与本作者无关。如有雷同纯属巧合4.7较前面的版本改动稍大,通过异步的方式生成了h5st。这个了解过的应该都可以看出来分析一、抓包确定逆向参数:20240511183735521;n9nymytm9nzgi560;f06cc;tk03wd2f......
  • 手动执行SQL触发器id自增报错处理方式
      一、查询出触发器创建的sqlSELECTdbms_metadata.get_ddl('TRIGGER','TRI_XXX_STORAGE','XSY')AStrigger_sql FROMdual; 二、删除触发器DROPTRIGGERXSY.TRI_XSY_STORAGE;三、创建触发器CREATEORREPLACETRIGGERTRI_XSY_STORAGEBE......
  • AI回答总不满意?你的提问方式可能完全错误!
    AI回答总不满意?你的提问方式可能完全错误!大家好,我是卷福同学,一个专注AI大模型整活的前阿里程序员,腾讯云社区2023新秀突破作者向AI提问想写一篇论文,结果AI就生成2000字左右的文章后就完了。小伙伴们是不是也会遇到这类情况呢。今天来教大家AI提示词的技巧,学会向AI提问。Prompt......
  • 生命周期---Vue2&Vue3
    生命周期---Vue2&Vue3简单理解为:组件从创建到被销毁的一个过程,就相当于人的一生,从出生到死亡的一个过程。组件的生命周期也称生命周期、生命周期函数、生命周期钩子生命周期在特定的时刻会调用特定的函数生命周期分为四个阶段,每个阶段都有两个钩子,现只讨论这八个钩子V......