如何在Vue Js中将值表单app.js传递给Vue文件

时间:2018-04-19 06:24:25

标签: javascript laravel laravel-5 vue.js

这是我的app.js,它的价值 gtotal 。我想将此值传递给我的 orderForm.vue 文件,我不会这样做。

require('./bootstrap');

window.Vue = require('vue');

window.EventBus = new Vue();
Vue.component('products', require('./components/products.vue'));
Vue.component('orders', require('./components/orders.vue'));
Vue.component('orderform', require('./components/orderForm.vue'));

const app = new Vue({
  el: '#app',
  data: {
    viewOrderForm: false,
    gtotal: 0
  },
  created() {
    EventBus.$on('openOrderForm', (total) => {
        this.viewOrderForm = true;
        this.gtotal = total;
        console.log(this.gtotal);
    });
  }
});

在orderForm.vue中,我想将它分配给输入字段值,以便我可以将其保存到数据库。

<template>
  <input type="hidden" value="gtotal">
</template>

1 个答案:

答案 0 :(得分:0)

由于您已设置事件总线,因此您可以在包含订单的组件中收听openOrderForm

<template>
  ...
    <order-form :gtotal="gtotal"></order-form>
  ...
</template>

export default {
  data () {
    return {
      gtotal: 0
    }
  },
  created () {
    EventBus.$on('openOrderForm',(total)=>{
      this.gtotal = total;
    })
  }
}

您的订单只需要prop gtotal

// orderForm.vue

<template>
  <input type="hidden" :value="gtotal">
</template>

export default {
  props: ['gtotal']
}