vue层级传参、爷孙传参、孙爷传参、跨层传参

编程入门 行业动态 更新时间:2024-10-08 13:28:42

vue<a href=https://www.elefans.com/category/jswz/34/1762098.html style=层级传参、爷孙传参、孙爷传参、跨层传参"/>

vue层级传参、爷孙传参、孙爷传参、跨层传参

爷----父----子 传参

爷传子【传参】

//  grandpa.vue爷爷级
<template><parent msg="msg from grandpa" number="112"></parent>
</template>
// parent.vue父亲级
<template>//直接转发给子,不做处理<child v-bind="$attrs"></child>
</template>
// child.vue儿子级
// 儿子使用爷爷级传入的参数
this.$attrs.msg
this.$attrs.number
子-----父-----爷 调用方法/传参
// grandpa.vue爷爷级
<template><parent @foo="onFoo"></parent>
</template>
<script>methods:{onFoo(){console.log('这个方法我不执行,让儿子级页面调用触发执行')}}
</script>// parent.vue父亲级
<template>// 直接转发给父,不做处理 <child v-on="$listeners"></child>
</template>// child.vue儿子级
<template><button @click="sendToParent">触发爷爷级的onFoo事件</button>
</template><script>methods:{sendToParent(){this.$emit('foo')}}
</script>
后代传参祖传后代
// 后代传参
//provide/inject// grandpa.vue祖级
<template><child></child>
</template><script>export default {provide(){return {// retutn 出来的值供所有后代共享bar:"后代使用的bar"}}}
</script>// child.vue后代级无论多少级,只要是后代
<template><h1>{{bar}}</h1>
</template><script>export default {// 后代要使用,需要先注入,类似于props,页面上就可直接使用inject:['bar']//也可以写成对象的形式,起别名inject:{bar1:'bar'//这个bar是祖定义的,bar1是别名,页面上此时需使用bar1},//更高级一点,设置一个默认值inject:{bar1:{form:'bar',default:'自己定义一个默认值先'}}}
</script>

更多推荐

vue层级传参、爷孙传参、孙爷传参、跨层传参

本文发布于:2024-02-28 09:34:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1768876.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:层级   vue   爷孙传参   跨层传参   孙爷传参

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!