这是我的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>
答案 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']
}