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()传值到这个父组件的父组件中去。

<ip-table :ipData="hostInfoTable.ip_result" :host_asset_id="host_asset_id" @getHostInf="getHostInfo"></ip-table>
getHostInfo(data){
    this.$emit('tableDataInit', data)
}

(3)最后

在父组件的父组件中,同样绑定方法,再去调用你最初要调用的那个方法就可以了

<host-information :hostInfoTable="hostInfoTable" :host_asset_id="host_asset_id" @tableDataInit="tableDataInit"></host-information>
tableDataInit(data) {
     this.getHostInf(data)
}

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值