为了账号安全,请及时绑定邮箱和手机立即绑定

vue中父子组件相互协作传递数据

标签:
Html/CSS

子组件代码

<template>
  <div class="my-header">
    公共头部
    <p @click="emitMyEvent">{{numberToDo}}</p>
  </div>
</template>

<script>
  export default {
    name: 'my-header',
    //父组件传过来的值(此处已经将numberToDo 绑定到 此组件的data下)
    //  props: ['number-to-do'],
    //用对象类型的可以限定传过来的值的类型
    props: {
      'number-to-do': 'Number'
    },
    data () {
      return {
        msg: 'Welcome to My header'
      }
    },
    methods: {
      emitMyEvent: function () {
        //自定义事件 父组件可以使用<my-header  @my-event="indexeEmitMyEvent"></my-header>
        //后面的this.msg是给父组件传递的参数
        this.$emit('my-event', this.msg);
      }
    }
  }
</script>

父组件代码

<template>
  <div class="index">
    <input type="text" v-model="myVal">
    <my-header :number-to-do="myVal" @my-event="indexeEmitMyEvent"></my-header>
  </div>
</template>

<script>
  import MyHeader from './common/MyHeader.vue'
  export default {
    name: 'index',
    components: {MyHeader},
    data () {
      return {
        msg: 'Welcome to Your Vue.js App',
        myVal: "1111"
      }
    },
    methods: {
      indexeEmitMyEvent: function (val) {
        console.log("子组件传过来的值:", val)
      }
    }
  }
</script>
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
6
获赞与收藏
0

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消