vue组件传值方式

vue父组件向子组件传值

组件间数据不能共享 因为vue组件不支持组件间的数据共享

​ 父组件向子组件传值

​ 1 在子组件的配置对象中写上props

​ {

​ props:[‘自定义名’]

​ }

​ 2 直接把props里边自定义的名字 当做data来进行使用

​ 3 在父组件中找到子组件的标签 在子组件标签上添加 v-bind:props自定义名字=“父组件要传递的data属性名”

​ <子组件标签 :props自定义名=“父组件data中要传递的属性名”></子组件名>

vue子组件向父组件传值

在vue中需要使用this.$emit触发事件

通过this.$on来监听事件改变

1 在子组件的模板对象中添加自定义点击事件

​ {

​ template:`

​ <button @click=“方法名”>触发

​ `

​ }

​ methods:{

​ 方法名(){

​ this.$emit(‘自定义名称’,要发送的数据)

​ }

​ }

2 在父组件中找到子组件标签 在子组件标签上 使用v-on:自定义名称=‘新的方法名’

​ <子组件标签 @自定义名称=‘新的方法名’></子组件标签>

3 在父组件中使用自定义方法,来接收子组件传递过来的数据

​ methods:{

​ 新的方法名(形参){

​ console.log(形参) // 形参指的就是子组件传递的数据

​ }

​ }

vue非父子组件之间传值

非父子组件传值
1 声明一个公共实例对象
const bus = new Vue()
2 在需要发送数据的组件中 使用bus.KaTeX parse error: Expected '}', got 'EOF' at end of input: … bus.emit(‘自定义名字’,要发送的数据)
}
}
3 在需要接收数据的组件中 使用 bus. o n 监 听 数 据 的 变 化 b u s . on 监听数据的变化 bus. onbus.on 是不能自动运行的 所以我们需要写在声明周期里
钩子函数created()里边
created(){
bus.$on(‘自定义名字’,(data)=?{
console.log(data) // data指的就是发送的数据
})
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值