Vue3前端开发,provide和enject的基础练习,跨层级传递数据

这篇具有很好参考价值的文章主要介绍了Vue3前端开发,provide和enject的基础练习,跨层级传递数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vue3前端开发,provide和enject的基础练习,跨层级传递数据!

声明:provide虽然可以跨层级传递,但是依旧是需要由上向下的方向传递。根传子的方向。


<script setup>
import {onMounted, ref} from 'vue'
import Base from './components/Base.vue'
import SetupDemo from './components/SetupDemo.vue'
import ReactiveDemo from './components/ReactiveDemo.vue'
import ComputedDemo from './components/ComputedDemo.vue'
import WatchDemo from './components/WatchDemo.vue'
import MutationsDemo from './components/MutationsDemo.vue'
import WatchDemo2 from './components/WatchDemo2.vue'
import LifeDemo from './components/LifeDemo.vue'
import ImageDemo2 from './components/ImageDemo2.vue'
import Parent from './components/Parent.vue'
import Child from './components/Child.vue'
import TestCom from './components/TestCom.vue'
import Middle from './components/Middle.vue'
import {provide} from 'vue'
const price = ref(49)
const userInfo = ref({name:'admin',age:24})
provide('price-key',price)
provide('userinfo-key',userInfo)
const btnHandle = ()=>{
  console.log('触发了根组件的方法')
  price.value++
}
provide('btn-key',btnHandle)
</script>
<template>

  <h3>入口文件</h3>
  <Middle />
</template>

这个是入口组件的内容,我们调用了一个中间组件Middle.vue。


<script setup>
import Three from './Three.vue';
</script>
<template>
    <h2>Midlle vue</h2>
    <Three />
</template>

这个是中间组件的内容,我们调用了一个三级组件Three.vue.


<script setup>
import { inject } from 'vue';

const userInfo = inject('userinfo-key')
const price = inject('price-key')
const btnHandle = inject('btn-key')

</script>
<template>
    <h4>Three vue</h4>
    <p>车厘子单价{{ price }}</p>
    <ul>
        <li v-for="(item,index) of userInfo" :key="index">{{ item }}</li>
    </ul>
    <hr />
    <button @click="btnHandle">车里单价自增1</button>
</template>

这个是第三级组件Three.vue的内容。

我们在这里,可以使用enject来方便的接收来自根组件的数据信息。

而且我们可以接收来自 父组件的方法。实现对父组件数据的修改效果。

如图,我们确实修改了车厘子的单价。


Vue3前端开发,provide和enject的基础练习,跨层级传递数据,VUE3,前端,javascript,vue.js

车厘子单价默认是49.我们点击按钮触发了根组件的方法,修改了2次单价。变成了51元。文章来源地址https://www.toymoban.com/news/detail-813940.html

到了这里,关于Vue3前端开发,provide和enject的基础练习,跨层级传递数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3中的provide

    作用:实现祖孙件通信 套路:父组件有一个provide选项来提供数据,子组件有一个inject选项来开始使用这些数据 具体写法: 祖组件中: child: run: 当然,如果存在子组件的子组件,也是可以直接获取到其上一级上一级的组件 child: childchild:

    2024年02月13日
    浏览(71)
  • vue前端开发自学,透传属性的练习demo

    vue前端开发自学,透传属性的练习demo!以上代码是,父组件的情况。也是App.vue的入口文件内容。 这是子组件内容,AttrComponent.vue的代码内容。可以看出来,它里面是有且仅有一个根元素,H3标签,如果多一个就不行了。透传属性就会失效了。必须是有且仅有一个根元素才行。

    2024年01月23日
    浏览(37)
  • vue3中的provide/inject(提供/注入)

    在说 provide/inject 先说一下 prop逐级穿透问题 。 通常我们从父组件向子组件传递数据时,会用到 props 。对于只需要传递一层或二层时还行,假如需要传递多层嵌套的组件,此时一级一级传递数据就会很繁琐,不利于编码,因此产生了 provide/inject ,从而解决此类问题。 有了

    2024年02月11日
    浏览(36)
  • Vue3 关于 provide、inject 的用法

    前言: 在前端项目中牵扯的最多的莫过于组件之间的传值了,除了最最常用的 props 和 emit ,其实在 Vue 中还额外提供了另外几种方法。今天分享一种组件之间通信的方法。 先别着急考虑标题这个 api 的含义。在这里我先动手写一个比较常见的场景。 所对应的组件内部代码比

    2024年02月06日
    浏览(34)
  • vue前端开发自学,插槽练习第二次,name属性的使用

    vue前端开发自学,插槽练习第二次,name属性的使用!可以使用name属性,来自定义一个名字,这样,就可以在一个组件内同时出现多个插槽的内容了。在子组件内接收的时候,很简答,只需要在slot标签里面加上name=“mz”; 下面看代码。 这个内容是app.vue入口文件的内容源码。下面

    2024年02月02日
    浏览(47)
  • vue3-provide和inject

    1.作用场景: 顶层组件向任意的底层组件传递数据和方法,实现跨层组件通信 2.跨层传递普通数据 1.顶层组件通过provide函数提供数据 2.底层组件通过inject函数获取数据 顶层组件 底层组件 3.跨层传递响应数据 顶层组件 底层组件 4.跨层传递方法 顶层组件可以向底层组件传递方

    2024年01月19日
    浏览(40)
  • vue中的provide/inject你知道吗(vue2、vue3)?

    昨天看一个项目代码看到了provide,但是学习的时候也没看到,看了官网才知道vue还有这个API。多数情况下,provide会和inject一起使用,又叫“依赖注入”。 “依赖注入”主要是解决父子组件传值“props逐级传递”问题。 所以,provide/inject的作用就是组件间的传值。 1.provide pr

    2024年02月08日
    浏览(42)
  • 快速掌握Vue3:速成Vue3前端开发看这篇就够啦

    1.1-Vue3的优点 Vue3支持Vue2额大多数特性。 更好的支持TypeScript。 打包大小减少41%。 初次渲染快55%,更新渲染快133%。 内存减少54%。 使用proxy代替defineProperty实现数据响应式。 重写虚拟DOM的实现和Tree-Shaking。 2.1-setup 我们可以跟以前定义data和methods,但是vue3中我们更推荐使用se

    2024年02月13日
    浏览(40)
  • vue前端开发自学练习,Props数据传递-类型校验,默认值的设置!

     vue前端开发自学练习,Props数据传递-类型校验,默认值的设置! 实际上,vue开发框架的时候,充分考虑到了前端开发人员可能会遇到的各种各样的情况,比如大家经常遇到的,数据类型的校验,再比如,默认值的设定等等。下面给大家展示一下,源码。和实际的效果。 如图,

    2024年01月23日
    浏览(28)
  • 【前端开发工具】VUE3 devtools安装

    尤雨溪在2020年9月19日晚正式发布vue3.0 one piece。此版本相较于vue2版本,更快、更小、更易维护、更易于原生、让开发者更轻松;所以学习vue3,对于一个前端开发者来说是一个刻不容缓的学习趋势。 学习vue3自然也离不开debug啦~~ Vue官方发布了调试工具Vue-Devtools。 VUE3的Vue-Devt

    2024年02月05日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包