请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

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

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

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

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

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

正在回答

1回答

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

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

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

0 回复 有任何疑惑可以回复我~
  • 提问者 SpringSecurity #1
    我后来放弃了 this.$parent 同事说这样做的话,两个组件耦合很严重,所以最好的方法用 $emit,非常感谢老师您的回复。
    回复 有任何疑惑可以回复我~ 2019-12-27 09:28:57
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信