子组件调用父组件方法时报的错

感谢这位大佬提供的解决方法,原文地址
地址
问题原因:this.$paren 这就话应该是获取父组件,因为我使用了element-ui 将我的子组件包了起来,获取到的父组件就是element-ui了,所以在调用父组件的方法是肯定是没有了
我这里的子组件是 navigation-left

          <el-aside
            :width="navLeftWidth + 'px'"
            class="scroll"
            v-if="navLeftShow">
            <svg class="icon fold-icon fold-icon-zd" aria-hidden="true" @click="foldMenu">
              <use xlink:href="#icon-zd"></use>
            </svg>
           <navigation-left class="nav-left" />
          </el-aside>

我的解决方法是,换一种调用方式,使用父组件监听子组件方式调用方式,(当然你也可以 this. p a r e n . paren. paren.paren… p a r e n . . . . . . 最 终 找 到 你 的 父 及 ) 不 过 这 里 使 用 t h i s . paren. ..... 最终找到你的父及) 不过这里使用 this. paren......使this.emit
这是父组件写法

<navigation-left @refreshPageData="refreshPageData" class="nav-left" />

子组件,如果有参数用逗号隔开


this.$emit('refreshPageData',this.menuArr[index]);

注意:改完最好重启一下服务,我就是因为没重启服务导致一直报错

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐