父傳子(vue2同)props
父組件A (return函數(shù))
<b-list :message = 'message'></b-list>
<script>
import Blist from './B.vue'
export default {
name: 'A',
components: {
Blist
},
setup(props, components) {
const message = [{num: 3}]
return {
message // 這邊也要return出來
}
}
}
</script>
子組件B
<p v-for="item in message">{{item.num}}</p>
<script>
export default {
name: 'B',
props: ['message']
}
</script>
子傳父context.emit
tip:1.父子組件都要return,否則不生效
父組件A (return函數(shù))
<b-list @getMessage="showMessage"></b-list>
<script>
import Blist from './B.vue'
export default {
name: 'A',
components: {
Blist
},
setup(props, components) {
console.log(props, components)
const showMessage = (value) => {
console.log(value)
}
return {
showMessage // 這邊也要return出來
}
}
}
</script>
子組件Breturn很重要,點擊事件要return出去
setup(props, context) {
// 點擊加入購物車
const cartClick = () => {
// 通過自定義事件回傳值
context.emit('getMessage', 2)
}
const state = reactive({
cartClick // 點擊事件要return過去,防止事件不生效
})