vue2组件传值

一、父组件向子组件传值

父组件中的数据在子组件中不能直接使用,要想在子组件中使用,步骤:
1、 在子组件配置props属性,属性中协商自定义属性名。

{

props:[’自定义属性名‘]

}
2、 在父组件中找到子组件标签。

<子组件标签  :自定义属性名="父组件要发送的数据"></子组件标签>
3、 在子组件中需要使用数据的地方,直接将第一步中自定义属性名当作data数据来使用。

<div>{{自定义属性名}}</div>

示例:

子组件:


 父组件:

 二、子组件向父组件传值

步骤:

1、在需要发送数据的子组件标签上绑定自定义事件,使用this.$emit()发送数据。

<div @click="自定义事件名1"></div>

methods:{

自定义方法名1(){

this.$emit("自定义时间名2",要发送的数据)

}

}

如果需要发送多个数据,

this.$emit("自定义时间名2",[要发送的数据1,要发送的数据1])

2、在父组件中找到子组件标签

<子组件标签名 @自定义事件名2=“新的方法名”></子组件标签名>

methods:{

新的方法名(data){

console.log(data)//data就是子组件发送过来的数据

}

}

三、非父子组件传值

1、通过建立一个第三方bus来做中转站,然后借用$emit 发送参数和 $on 来接受参数
建立一个bus.js

import Vue from 'vue'
export default Vue.prototype.bus = new Vue()

2、在main.js引入

import bus from './util/bus'

3、//发送信息组件
<template>
  <button @click="changeBus()">bus</button>  
</template>
...
methods: {
    changeBus(){
      this.bus.$emit("change",'yjw');
    }
}
//接受信息组件
 mounted(){
    let self = this;
    this.bus.$on('change',function(msg){
      console.log(msg);
      self.msg = msg;
    })
  }
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小白的成长日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值