三.父子組件傳值(return很重要)

父傳子(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過去,防止事件不生效
    })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容