17.项目开发中遇到的问题(this.$parent.$parent子组件调父组件的父组件的方法不可用问题)

前言:

在今天的项目开发中,遇到了一个问题,就是通过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)
}

 

你可能感兴趣的:(Vue)