<body>
<div id="root">
<child content="Dell"></child>
<child content="Lee"></child>
</div>
<script>
Vue.prototype.bus = new Vue();//挂载一个bus属性
Vue.component('child',{
data: function(){
return {
selfContent: this.content
}
},
props: {
content: String
},
template: "<div @click='handleClick'>{{selfContent}}</div>",
methods: {
handleClick: function(){
this.bus.$emit('change', this.selfContent)
}
},
mounted: function() {
var this_ = this;//这里this的作用域改变了
this.bus.$on('change', function(msg) {
this_.selfContent = msg
})
}
})
var vm = new Vue({
el: '#root',
data: {
}
})
</script>
</body>

本文介绍了一个使用Vue.js实现的简单示例,展示了如何通过全局事件总线(bus)来实现不同Vue组件间的通信。具体包括了如何定义组件、传递参数、触发事件以及响应事件等关键步骤。
339

被折叠的 条评论
为什么被折叠?



