记录
TypeError: this.$refs.activity.openDialog is not a function"。父组件ref调用子组件的坑。
报错的时候,
首先查找,子组件引入进来是否注册
。
其次查找子组件是否写在根目录,div包裹。
再查找,这个方法是写在哪里
。如果在created里
,是被报错的,要写在mounted中
,此时dom已加载好。如果写在methods中,需要用。this.$nextTick()回掉
,或者用定时器 setTimeout(()=>{ },500)
还要检查是否循环
了,如果是循环也会报错。
在打印一下console.log(this.$refs.activity);
是什么数据格式。如果是个数组就 this.$refs.activity[0].openDialog()
还要检查一个坑,是我找了好久才发现的,不要图省事给方法名字随便起
,当我把openDialog
改成了 open
。。报错解决了。
父组件
<el-table-column label="操作">
<template slot-scope="scope">
<div class="<