vue父组件调用子组件方法、父组件向子组件传值、子组件向父组件传值

 

一、父组件调用子组件方法

父组件代码  parent.vue

<template>
  <div>
    <button @click="parentFun">{{msg}}</button>
    <child ref="child"></child>
  </div>
</template>

<script>
 import child from './child'
export default {
  name: 'parent',
  data () {
    return {
      msg: '我是父组件按钮'
    }
  },
  components: {
      child,
  },
  methods:{
    parentFun(){
       this.$refs.child.childFun();
    }
  }
}
</script>

<style scoped>

</style>

 

子组件代码  child.vue

 

<template>
   <div>
       我是子组件
   </div>
</template>

<script>
export default {
  name: 'child',
  data () {
    return {
      msg: ''
    }
  },
  methods:{
    childFun(){
        console.log('我是子组件方法')
    },
  }
}
</script>

<style scoped>

</style>

 

点击“我是父组件按钮” 会调用子组件 childFun()  方法

 

二、父组件向子组件传参

 

父组件代码  parent.vue

<template>
  <div>
    <child ref="child" :msg="msg"></child>
  </div>
</template>

<script>
 import child from './child'
export default {
  name: 'parent',
  data () {
    return {
      msg: '我是父组件按钮参数'
    }
  },
  components: {
      child,
  },
  methods:{
  }
}
</script>

<style scoped>

</style>

 

子组件代码  child.vue

 

<template>
   <div>
       我是子组件
   </div>
</template>

<script>
export default {
  name: 'child',
  props:{
      msg:String
  },
  data () {
    return {
    }
  },
  methods:{
  },
  created(){
      console.log(this.msg)
  }
}
</script>

<style scoped>

</style>

 

把父组件要传的参数绑定到子组件的标签上,父组件用 props 接收参数,并注明参数类型,这样子组件就会获取到了

 

三、子组件向父组件传值

 

父组件代码  parent.vue

<template>
  <div>
    {{msg}}
    <child @parentFun="getChildData" ></child>
  </div>
</template>

<script>
 import child from './child'
export default {
  name: 'parent',
  data () {
    return {
      msg: ''
    }
  },
  components: {
      child,
  },
  methods:{
    getChildData(data){
       this.msg = data;
    }
  }
}
</script>

<style scoped>

</style>

  

子组件代码  child.vue

 

<template>
   <div>
       <button @click="sendParentMsg">我是子组件按钮</button>
   </div>
</template>

<script>
export default {
  name: 'child',
  data () {
    return {
      msg: '我是子组件的参数'
    }
  },
  methods:{
    sendParentMsg(){
//parentFun: 是父组件指定的传数据绑定的函数,this.msg:子组件给父组件传递的数据
        this.$emit('parentFun',this.msg)
    },
  }
}
</script>

<style scoped>

</style>

  

好了,常用的几种父子组件之间的参数传递方法我整理了一些,希望对大家有所帮助

转载于:https://www.cnblogs.com/shizk/p/11498134.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值