慕標(biāo)5832272
2018-07-23 19:34:50
<income :getStandards="getStandards" :index="index" ref="refIncome"></income>clickPurchase: function (index) {this.$refs.refIncome.handleStatePromptContent()}這是父組件引用的子組件handleStatePromptContent () { if ((this.$parent.details.isFirst === 0) && (this.$parent.details.isNovice === 1)) { // this.showDialog = true
// this.message = '僅限新手投資'
this.statePromptContent = '僅限新手投資'
return false
} if ((this.$parent.details.isNovice === 1) && (this.Total > 50000)) { // this.showDialog = true
this.statePromptContent = '新手標(biāo)投資不能超過50000'
// this.message = '新手標(biāo)投資不能超過50000'
return false
} if (this.count <= 0) { // this.showDialog = true
this.statePromptContent = '請選擇投資份數(shù)'
// this.message = '請選擇投資份數(shù)'
return false
}
}
這里是子組件的方法然后就報這個錯誤。求教是怎么回事。
2 回答

紫衣仙女
TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個贊
建議你不要用這種方式父組件去調(diào)用子組件的方法。建議用自定義事件,就是子組件監(jiān)聽在mounted
鉤子函數(shù)里面this.$on
監(jiān)聽一個事件,然后再在父組件需要的時候去this.$emit
觸發(fā)那個事件。
還有,父子組件之間傳值最好用規(guī)矩一點(diǎn)的方式,不要直接this.$parent.details.isNovice
這樣去獲取,vue是數(shù)據(jù)驅(qū)動的,而不是直接去操作dom。

哆啦的時光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個贊
用這種方式調(diào)用子組件的方法是沒問題的,但是報錯了,是不是你的子組件方法沒有正確放在methods里呢,推薦你去跟一下斷點(diǎn),先看看this.$refs.refIncome是否指向的是對應(yīng)子組件的vue實(shí)例對象(里面的一些屬性能幫助你確認(rèn)),然后再看看這個實(shí)例對象里是否有該方法。
添加回答
舉報
0/150
提交
取消