如何在vue js中将数据从一个组件传递到另一个组件?

Hit*_*dra 4 laravel vue.js vue-router

我正在学习vue + laravel.我想将值从一个组件传递到其他组件?我已经使用vue路由器进行路由.

这是第一个和第二个组件的代码.SelectPerson.vue

<template>
    ......
      <div>
        <input type="number" class="form-control" name="numberOfPersons" placeholder="Enter number of persons here" **v-model="inputPersons"**>
        <br>
        **<SelectTimeSlot v-bind:numberOfPersons="inputPersons"></SelectTimeSlot>**
      </div>
      <div>
        <button class="btn btn-default float-right mt-2" v-on:click="selectTimeSlots">Next</button>
      </div>
    ......
</template>
<script>
import SelectTimeSlot from './SelectTimeSlot.vue'
  export default{
    props:['numberOfPersons'],
    data(){
        return{
          **inputPersons:0**
        }
    },
    methods:{
      selectTimeSlots(){
        this.$router.push({name:'SelectTimeSlot'});
      }
    }
  }
</script>
Run Code Online (Sandbox Code Playgroud)

第二个组件SelectTimeSlot.vue

<template>
<h5>Welcome, You have selected **{{numberOfPersons}}** persons.</h5>
</template>
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?

Hir*_*hel 11

要将数据从一个组件传递到其他组件,您需要使用props:

第一部分:

<second-component-name :selectedOption="selectedOption"></second-component-name>

<script>
export default {

   components: {
        'second-component-name': require('./secondComponent.vue'),
   },
   data() {
        return {
          selectedOption: ''
        }
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

第二部分:

<template>
    <div>
        {{ selectedOption }}
    </div>
</template>

<script>
    export default {
        props: ['selectedOption']
    }
</script>
Run Code Online (Sandbox Code Playgroud)

请访问此链接.

希望这对你有所帮助!