TypeError: this.$parent.getList is not a function

来源:14-8 分页功能优化

SpringSecurity

2019-12-26

应用场景是这样的图片描述
图片描述

我在子组件中对列绑定了个方法。
图片描述

方法中通过 $paren 分别调用了父组件的getDetailsList getBoxesList两个方法
图片描述

通过$paren 这么做我已经不是第一次了但是很奇怪的是这次的方法不仅没有生效。而且在浏览器中还报出这样的错误。
图片描述

仅仅只是通过 $parent 对象去调用父类的方法但是无法生效我尝试的检查了代码但是不知道具体是为什么。

还有就是我上次提交的问题老师您还没有回答。https://coding.imooc.com/learn/questiondetail/158014.html

写回答

1回答

Sam

2019-12-26

你好,将 this.$parent 打印出来看下可以看到 this.$parent 里面并没有你要调用的方法,所以抛出这个异常,直接使用 this.$parent 这样做法不太推荐,推荐你使用两种方法:

第一种方法,使用 this.$emit('getDetailList') 调用父组件传入的方法

第二种方法(推荐),使用 this.$store.dispatch('getDetailList'),将方法交给 vuex 进行托管,这样我们就可以将接口请求和状态管理与组件代码解耦

0
1
SpringSecurity
我后来放弃了 this.$parent 同事说这样做的话,两个组件耦合很严重,所以最好的方法用 $emit,非常感谢老师您的回复。
2019-12-27
共1条回复

Vue Element+Node.js开发企业通用管理后台系统

基于Element的中后台课程,一套中小型企业通用的后台管理系统

2829 学习 · 1714 问题

查看课程