位置: IT常识 - 正文

VUE3传值相关六种方法(vue传值inject)

编辑:rootadmin
VUE3传值相关六种方法

目录

1.父传子(props)

 2.子传父组件方法和值(emit)

 3.子传父(v-model)

4.父组件调用子组件方法(ref)

5.VUEX

推荐整理分享VUE3传值相关六种方法(vue传值inject),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue三种传值方式,vue传值bus,vue三种传值方式,vue值传递,vue中传值的方式,vue三种传值方式,vue3.0传值,vue3.0传值,内容如对您有帮助,希望把文章链接给更多的朋友!

6.第六种爷孙传值provide / inject(官方并不建议未总结)

1.父传子(props)

VUE3父传子

1.将fatherToChild的值传递到index子组件之中并且在父组件中操作按钮子组件数据会跟随变化

<div class="bgc fed"> <div class="father"> <p>我是父组件</p> <p> <button @click="changeFather">更改父组件数值</button> </p> </div> <index :fatherToChild="fatherToChild" /> </div>

2.引入vue的import

import { defineComponent, ref, reactive, toRefs } from "vue";

3.const 所要传递的数据并且写上父组件的按钮方法

const state = reactive({ fatherToChild: "fatherToChild", }); const changeFather = () => { state.fatherToChild = "changeFather"; }; return { ...toRefs(state), changeFather, };

如图所示为一开始传递fatherToChild在点击按钮之后传递数值变为changeFather

4.在子组件之中接收所传递的props

export default { props: { fatherToChild: String, }, setup(props) { return { props, }; },};

如果不确定传值为什么可cons一下传递的props在控制台观察

在子组件中引用为

<p>父组件给子组件传值:{{ props.fatherToChild }}</p>

效果如图所示

可以观察到点击父组件后子组件数值跟随变化

 2.子传父组件方法和值(emit)

同VUE2一样子组件没有办法直接更改父组件方法,选用context.emit进行方法传递

1.子组件之中写方法触发context,emit

setup(props, context) { const childChangeFather = () => { context.emit("childUseFather", "childUseFather"); }; return { props, childChangeFather, }; },

context.emit(‘方法名’,数值)

 2.父组件之中接收方法后调用更改数值

const childUseFather = (val) => { state.fatherToChild = val; }; <index :fatherToChild="fatherToChild" @childUseFather="childUseFather" />

效果如图所示

VUE3传值相关六种方法(vue传值inject)

点击前点击后

 3.子传父(v-model)

如果子传父所更改的值恰好跟父组件相同可用v-model

1.父组件之中

<index v-model:fatherToChild="fatherToChild" />

 不再需要使用@和:

2.子组件之中

const modelChange = () => { context.emit("update:fatherToChild", "modelChangeFather"); };

使用update方法,context.emit("update:方法名","传值")

效果如图所示

点击前点击后

 同时父组件更改数值子组件也会同样跟随变化

4.父组件调用子组件方法(ref)

就是使用 ref 来获取dom 然后操作里面的参数和方法。

父组件之中

<p><button @click="fatherUse">ref父组件调用子组件方法</button></p> <index ref="child" /> const child = ref(); const fatherUse = () => { child.value.fatherUseChild("fatherChangeChild"); };

在组件上绑定ref,起名为child在调用时使用child.value.方法名(“传值”)

子组件之中

const state = reactive({ children: "children", }); // 父组件调用子组件方法并且进行传值更改 const fatherUseChild = (val) => { console.log("调用成功"); state.children = val; };

接收到传值val,触发方法给children重新赋值

效果如图所示

点击最后一个按钮父组件调用时

可以观察到子组件之中子组件的值变化为fatherChangeChild 

5.VUEX

文件目录结构如图所示

 index.js之中

import { createStore } from 'vuex'import {state} from './state'import {mutations} from './mutations'import {actions} from './actions'export default createStore({ state, mutations, actions, modules: { }})

注意如果引入的时候没写{}在后续会导致store.state.字段找不到,需要store.state.state.字段才能查到数据,只有好不好用就不知道了= =

首先在state之中

本文链接地址:https://www.jiuchutong.com/zhishi/294561.html 转载请保留说明!

上一篇:uniapp封装axios?大可不必那么麻烦。(uniapp封装组件,多了一层)

下一篇:创建vue2项目(vue创建项目后开始写的步骤)

  • 美团地图上怎么添加店铺位置(美团地图上怎么添加自己家位置)

    美团地图上怎么添加店铺位置(美团地图上怎么添加自己家位置)

  • 手机微信上的钱包怎样存钱 (手机微信上的钱转到银行卡上花钱吗)

    手机微信上的钱包怎样存钱 (手机微信上的钱转到银行卡上花钱吗)

  • 计算机外存储器有哪些(计算机外存储器的特点)

    计算机外存储器有哪些(计算机外存储器的特点)

  • 快手没有浏览设置怎么办(快手为什么没有浏览记录)

    快手没有浏览设置怎么办(快手为什么没有浏览记录)

  • 淘宝追评在哪里看(手机淘宝追评在哪里)

    淘宝追评在哪里看(手机淘宝追评在哪里)

  • cpu架构是什么意思(cpu架构方式)

    cpu架构是什么意思(cpu架构方式)

  • 绕id机有什么坏处(绕id机有什么风险)

    绕id机有什么坏处(绕id机有什么风险)

  • 音频输出是什么意思(音频输出是什么颜色)

    音频输出是什么意思(音频输出是什么颜色)

  • r9s什么时候上市的(oppo r9s plus是哪一年上市的)

    r9s什么时候上市的(oppo r9s plus是哪一年上市的)

  • 苹果se关机充电不显示充电(苹果se关机充电不显示电量)

    苹果se关机充电不显示充电(苹果se关机充电不显示电量)

  • 毒上的立即购买跟闪电发货的区别(毒上的购买方式有什么区别)

    毒上的立即购买跟闪电发货的区别(毒上的购买方式有什么区别)

  • 天猫买的东西质量有问题到哪里去投诉(天猫买的东西质量问题不给退货怎么办)

    天猫买的东西质量有问题到哪里去投诉(天猫买的东西质量问题不给退货怎么办)

  • 抖音为什么能看到别人在线(抖音为什么能看到通讯录好友)

    抖音为什么能看到别人在线(抖音为什么能看到通讯录好友)

  • 用来度量计算机外部设备传输率的是(用来度量计算机网络数据传输速率比特率的是)

    用来度量计算机外部设备传输率的是(用来度量计算机网络数据传输速率比特率的是)

  • 苹果手机显示充电但是电量不涨(苹果手机显示充电但是开不了机)

    苹果手机显示充电但是电量不涨(苹果手机显示充电但是开不了机)

  • 苹果如何屏蔽骚扰电话短信(苹果如何屏蔽骚扰短信信息)

    苹果如何屏蔽骚扰电话短信(苹果如何屏蔽骚扰短信信息)

  • 手机打电话不免提没有声音(手机打电话不放免提听不见声音)

    手机打电话不免提没有声音(手机打电话不放免提听不见声音)

  • 手机微博怎么样保存视频(手机微博怎么样删除)

    手机微博怎么样保存视频(手机微博怎么样删除)

  • 华为移动服务能卸载吗(华为移动服务是干什么的可以删除么)

    华为移动服务能卸载吗(华为移动服务是干什么的可以删除么)

  • 怎么禁止w10自动更新(如何禁止win10自动重启)

    怎么禁止w10自动更新(如何禁止win10自动重启)

  • 交了网费怎么恢复wifi(交完网费怎么重新登录)

    交了网费怎么恢复wifi(交完网费怎么重新登录)

  • 微信如何按条件加好友(微信如何按条件查找附近好友的人)

    微信如何按条件加好友(微信如何按条件查找附近好友的人)

  • 滴滴只接长途单技巧(滴滴接长途单怎么设置)

    滴滴只接长途单技巧(滴滴接长途单怎么设置)

  • ElementPlusError:[ElPagination] 你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档

    ElementPlusError:[ElPagination] 你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档

  • 阿斯佩山谷中的蒙塔尼翁湖,法国 (© thieury/Adobe photo stock)(阿佩勒斯)

    阿斯佩山谷中的蒙塔尼翁湖,法国 (© thieury/Adobe photo stock)(阿佩勒斯)

  • 强大的图片预览组件Viewer.js(强大的图片预览软件)

    强大的图片预览组件Viewer.js(强大的图片预览软件)

  • 季度缴纳企业所得税计算方法
  • 怎么交税费
  • 税务行政复议包括必须复议自由复议和选择复议三种类型
  • 企业所得税如何做分录
  • 土地增值税间接费用扣除
  • 税务局核定税种是什么意思
  • 股权转让给个人和公司的区别
  • 领备用金填什么单子
  • 现金流量表年报中的上年金额是什么
  • 税务局返还的三种税种
  • 接受非货币性资产捐赠以其什么确认捐赠额
  • 仓库产品出库到货时间
  • 普票丢失用第一联的复印件入账可以么
  • 调增应纳税所得额
  • 纸箱报废处理怎么做账
  • 公司收生育津贴怎么入账
  • 增值普通发票税率怎么算
  • 四点帮你避开虚开发票
  • 公积金是交当月还是上月
  • 建筑队能开哪些项目
  • 残保金属于现金流量表中的哪一项
  • 汽车展厅布置需要什么
  • 债务转为资本什么意思
  • 出口退税的钱退到哪里了
  • 金蝶怎么一次性删除所有分录
  • 事业单位收到奖励款怎么入账
  • win11透明任务栏怎么设置
  • win10怎么清理剪切板
  • php oci_connect
  • 体积最小的机械硬盘
  • 其他业务收入属于收入吗
  • 圣保罗大教堂是什么教
  • 纳税人临时到外省从事经营活动
  • php储存数据的方法
  • vue 提示
  • 主营业务收入月末需要结转吗
  • ftpd命令
  • 本地住宿费怎么做账
  • 什么是劳务派遣制员工
  • 转让不动产为什么能差额
  • 一般纳税人怎样申请简易计税
  • php中使用什么函数来定义常量
  • 进项未认证但已开票怎么办
  • 挂靠车辆进项税额是否可以抵扣
  • 电影院属于什么经济类型
  • 残疾人保障金的工资总额怎么填
  • 股权激励费用摊销意思是
  • 投资管理公司怎么收费
  • 委托加工物资的消费税计入成本吗
  • 饭馆增值税
  • 收到以前年度增值税退税账务处理怎么做账
  • 工程项目立项前的安全评估
  • 日后调整事项的记账凭证怎样装订
  • 补提当年折旧会计分录
  • 期末贷方余额什么意思
  • 银行存款会计分录需要输入哪些内容
  • 小规模企业应交税费分录
  • 销售折让如何核算
  • 单位要处置一辆车怎么办
  • 货物已经入库发货怎么办
  • 先计提所得税还是先出报表
  • 事业单位的在建工程包括
  • 医院的自助缴费机怎么开具发票
  • bulk insert formatfile
  • win10预览版21390
  • windows2003服务不能开启
  • 2008r2数据库备份
  • solaris 安装
  • centos8 apache
  • win10没有win8好用
  • [置顶]公主大人接下来是拷问时间31
  • 使用jquery操作dom
  • opengl extension
  • 青岛网上办税服务厅登录
  • 吉林省工伤保险咨询电话
  • 增值税电子普通发票需要盖章吗
  • 江苏税务登录密码是几位
  • 电脑上怎么登录个人网络
  • 香港pcc价格
  • 车辆购置税怎么做账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设