Vue组件父类和子类之间传值

本文介绍了Vue中组件间的值传递方式,包括父组件如何向子组件传递数据,以及子组件如何将值反馈回父组件。在Vue中,由于组件间数据不共享,通常通过props进行单向数据流。文章通过实例展示了具体的实现过程和运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因Vue组件之间值不能共享,所以需要通过内部指定属性进行传递。(PS:驼峰命名,标签引用是要用-隔开)

一,父类组件向子类组件传值

<body>
    <div id="app">
      <user-Parent-Comp></user-Parent-Comp>
    </div>
</body>


<script>
  var vm = new Vue({
    el: '#app',
    components: {
      'userParentComp': {
        template: '<h1>I am a parent component.---{{parentVal}}<br/><userChildComp :childVal="fromParentVal"/></h1>',
        data() {
          return {
            parentVal: 'I am the value of a parent class. ',
            fromParentVal: 'I am a value from the parent class. '
          }
        },
        components: {
          'userChildComp': {
            props: ['childVal'],
            template: '<p>I am a child component.---{{childVal}}  </p>'
          }
        }
      }
    }
  })

</script>

运行效果:


二、子组件传值到父组件。

<body>
  <div id="app">
    <user-Parent-Comp></user-Parent-Comp>
  </div>
</body>


  <script>
  var vm = new Vue({
    el: '#app',
    components: {
      'userParentComp': {
        template: '<h1>I am a parent component.---{{fromChildVal}} <userChildComp @upParamsFun="fillValFun"></userChildComp></h1>',
        data() {
          return {
            fromChildVal: 'default parentVal'
          }
        },
        methods: {
          fillValFun(upVal) {
            this.fromChildVal = upVal;
          }
        },
        components: {
          'userChildComp': {
            data() {
              return {
                fromChildVal: 'I am a value from the child class. '
              }
            },
            template: '<p v-on:click="userFun">I am a child component.点击我就发送数据到父组件 </p>',
            methods: {
              userFun() {
                this.$emit('upParamsFun', 'I am a value from the child class.');
              }
            }
          }
        }
      }
    }
  })
  </script>

运行效果:

步骤一:点击前


步骤二:点击后


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值