Vue 组件间的数据共享(2)

Vue 组件间有5种常见的数据共享方式:

1:props & $emit
2:依赖注入(provide,inject )
3:处理边界($root,$parent,$refs)
4:eventbus
5:vuex

下面详细介绍依赖注入方式的数据传递:

依赖注入

优点:当组件嵌套过多,而且所有组件都需要使用根组件的某一些内容时 (数据或方法),使用依赖注入会比普通的传值更加方便
缺点:数据不支持响应式

provide属性:提供给后代组件的数据和方法
inject属性:后代组件中接收根组件的数据和方法

<div id="app">
    <comp></comp>
</div>
 <script>
        const comp = {
            inject: ["myuser"],
            template: `<p>{{myuser}}</p>`
        }

        var vm = new Vue({
            el: "#app",
            data: {
                user: "小唐"
            },
            components: {
                comp
            },
            provide: function () {
                return {
                    myuser: this.user
                }
            }
        });

    </script>

在这里插入图片描述
在这里插入图片描述
参考文档:Vue教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值