在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue 調(diào)用父組件調(diào)用子組件的問題

vue 調(diào)用父組件調(diào)用子組件的問題

<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 = '新手標投資不能超過50000'
  // this.message = '新手標投資不能超過50000'
  return false
  }
  if (this.count <= 0) {
  // this.showDialog = true
  this.statePromptContent = '請選擇投資份數(shù)'
  // this.message = '請選擇投資份數(shù)'
  return false
  }
}
這里是子組件的方法

clipboard.png
然后就報這個錯誤。求教是怎么回事。

回答
編輯回答
菊外人

handleStatePromptContent這個是組件里面的方法,this.$refs.refIncome指的是一個dom對象,dom對象怎么能去調(diào)用組件的方法呢

2017年3月19日 11:44
編輯回答
憶往昔

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

2017年10月25日 07:14
編輯回答
祈歡

用這種方式調(diào)用子組件的方法是沒問題的,但是報錯了,是不是你的子組件方法沒有正確放在methods里呢,推薦你去跟一下斷點,先看看this.$refs.refIncome是否指向的是對應子組件的vue實例對象(里面的一些屬性能幫助你確認),然后再看看這個實例對象里是否有該方法。

2017年9月20日 18:39