Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue.js/Laravel:如何在多个组件之间传递数据_Javascript_Laravel_Vue.js_Vuejs2 - Fatal编程技术网

Javascript Vue.js/Laravel:如何在多个组件之间传递数据

Javascript Vue.js/Laravel:如何在多个组件之间传递数据,javascript,laravel,vue.js,vuejs2,Javascript,Laravel,Vue.js,Vuejs2,从上面的代码中,我想在exampleComponent1中发生一些事件时,将数据从exampleComponent1传递到exampleComponent2 这方面的最佳解决方案是什么???您可以使用 require('./bootstrap'); window.Vue = require('vue'); Vue.component('exampleComponent1', require('./components/exampleComponent1.vue')); Vue.compone

从上面的代码中,我想在
exampleComponent1
中发生一些
事件时,将数据从
exampleComponent1
传递到
exampleComponent2

这方面的最佳解决方案是什么???

您可以使用

require('./bootstrap');

window.Vue = require('vue');

Vue.component('exampleComponent1', require('./components/exampleComponent1.vue'));
Vue.component('exampleComponent2', require('./components/exampleComponent2.vue'));

const app = new Vue({
    el: '#app'
});

这里的关键是将其
父组件设置为从第一个组件接收(使用
发射
)并发送到第二个组件(使用
道具
):

const component1=Vue.component('component1',{
模板:“#组件1”,
data(){返回{名称:'}},
方法:{
updateName(){this.$emit(“namechanged”,this.name);}
}
});
常量component2=Vue.component('component2',{
模板:“#组件2”,
道具:['name'],
});
新Vue({
el:“应用程序”,
组件:{component1,component2},
data(){返回{名称:'}},
方法:{
updateName(newName){this.name=newName;}
}
});

来自组件1的输入:{{name}

// in some global file
const EventBus = new Vue();

// creating or emitting event
EventBus.$emit('someEvent', 'some-data')

// listen to the event
EventBus.$on('someEvent', function(data) {
  console.log(data) // 'some-data
})