鍍金池/ 問(wèn)答/網(wǎng)絡(luò)安全  HTML/ vue render中渲染子組件,如何在父組件中獲取到該子組件?

vue render中渲染子組件,如何在父組件中獲取到該子組件?

  1. onPoperShow函數(shù)中通過(guò)ref獲取加載進(jìn)來(lái)的組件PopTipTransfer,通過(guò)獲取到的子組件調(diào)用其中的方法。沒(méi)有成功。
  2. 子組件PopTipTransfer ref名叫pop
render: (h, params) => {
    return h('div', [
        h(PopTipTransfer, {
            ref: 'pop',
            props: {
                visible: this.poptipTransferVisible
            },
            on: {
                onPopperShow: (value) => {
                    this.$nextTick(() => {
                        console.log(this.$refs);
                    });
                },
            }
        })
 })

log如下,只包含了我在template模板定義的組件,pop組件獲取不到:

clipboard.png

回答
編輯回答
朽鹿

1.首先你想直接調(diào)用子組件的想法是不科學(xué)的,不符合vue或者mvvm框架這種單向數(shù)據(jù)流的觀念
2.如果你需要父組件滿足一定條件的時(shí)候子組件執(zhí)行某個(gè)動(dòng)作,那么可以給子組件傳遞一個(gè)props,子組件里watch這個(gè)props,當(dāng)props的變化滿足你的條件之后執(zhí)行對(duì)應(yīng)的動(dòng)作

2018年1月23日 01:18