17.プロジェクト開発で発生した問題(this.$parent.$parent.$parentサブコンポーネントの親コンポーネントを調整する方法は使用できません)

960 ワード

前言:
今日のプロジェクト開発では、this.$parent.$parent.getHostInf()親コンポーネントの親コンポーネントを呼び出す方法はありません(親コンポーネントではなく親コンポーネントのラベルが含まれているため)
検討した結果、解決方法は以下の通りである:(コンポーネントで値を伝達する方式)
(1)まず
このメソッドを呼び出す必要がある場所でthis.$を使用します.Emit()は値を伝達する
onClose: function () {
    _this.dialogFormVisibleAdd = false
    _this.$emit('getHostInf',_this.host_asset_id)
}

(2)そして
親コンポーネントで、このメソッドをバインドし、このgetHostInfoメソッドでthis.$を再使用します.Emit()は、この親コンポーネントの親コンポーネントに値を渡します.
getHostInfo(data){
    this.$emit('tableDataInit', data)
}

(3)最後
親コンポーネントの親コンポーネントでは、同じようにメソッドをバインドし、最初に呼び出すメソッドを呼び出せばいいです.
tableDataInit(data) {
     this.getHostInf(data)
}