【发布时间】:2018-07-03 04:55:24
【问题描述】:
我的项目包含 4 个组件:Header、Content、Footer、Main。所有这些都分离为 .vue 文件。 Main.vue 文件:
<template lang="pug">
.maincomponent
header
content
footer
</template>
<script>
import Header from '@/components/Header'
import Content from '@/components/Content'
import Footer from '@/components/Footer'
export default {
name: 'Main',
created: function () {
console.log('Main component created')
},
components: {
'header': Header,
'content': Content,
'footer': Footer
},
data () => {
return {
mainData: false
}
}
}
</script>
<style>
</style>
Header.vue 代码:
<template lang="pug">
.header {{property}}
button(@click='buttonClick') Button
</template>
<script>
export default {
name: 'Header',
props: {
property: {
type: Boolean,
default: false
}
},
methods: {
buttonClick: function () {
this.$emit('headerButtonClick')
}
}
}
</script>
<style>
</style>
更新: 使用此代码,我设法正确呈现页面。现在我想从 Header 发出事件 buttonClick -> 在 Main -> 中捕获它,并将子 prop 'property' 设置为 data memeber 'mainData'。我该如何处理这段代码?
【问题讨论】:
标签: javascript events vue.js components