Vue组件间的传值

Vue组件间的传值

父组件向子组件传参

  • 子组件通过组件内部props接收传递过来的值

    Vue.component('menu-item', {
        props: ['title'],
        template: '<div>{{title}}</div>'
    })
    
  • 父组件通过属性将值传递给子组件

    <menu-item title="父组件要传的参数"></menu-item>
    <menu-item :title="title"></menu-item>
    
  • 注意props属性的命名规则,html不区分大小写

子组件向父组件传参

  • 子组件通过自定义事件向父组件传参

    <button @click="this.$emit(‘enlarge-text’)">扩大字体</button>
    
  • 父组件监听子组件的时间

    <menu-item @enlarge-text="fonsize += 0.1"></menu-item>
    
  • 携带参数

    • 子组件

      <button @click="this.$emit("enlarge-text", 0.1)">扩大字体</button>
      
    • 父组件

      <menu-item @enlarge-text="fonsize += $event"></menu-item>
      

兄弟组件的通信

  • 通过父组件传递——子1-> 父->子2(props + $emit)
    • 子组件1通过触发事件传参——this.$emit(‘ChildOneClick’, ‘要传的参数’)
    • 父组件监听该事件——@ChildOneClick = “handleParentClick”,在方法中接收参数handleParentClick(‘接收的参数’),然后通过绑定属性将参数传递个子组件2
    • 子组件2通过props 接收该参数
  • 通过eventBus(Vue对象的实例)
    • 子组件1触发事件——eventBus.$emit(‘ChildOneClick’, ‘要传的参数’)
    • 子组件2监听事件——eventBus.$emit(‘ChildOneClick’, (‘接收的参数’) => {})
  • 通过Vuex管理(略)

Vuex实现全局状态管理

Vuex的使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值