广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue中this.$parent的使用方式
  • 262
分享到

vue中this.$parent的使用方式

2024-04-02 19:04:59 262人浏览 八月长安
摘要

目录Vue组件this.$parent一、在实例中二、在组件中调用组件vue子组件this.$parent调用父组件方法报错TypeError:this.parent.xxx is

vue组件this.$parent

在使用vue时,你可能会用到this.$parent来进行组件与组件或者组件与外部实例的数据以及方法调用,这里简单介绍下两种使用环境.(这里你可以理解外部实例为非第三方组件)

一、在实例中

this.$parent 写在组件里面,外部实例调用此组件,则其指向vue实例(这里是调用组件的实例),你可以在组件中调用 data,methods:

//例子
    this.$parent.list;//数据(模拟)
    this.$parent.request();//方法(模拟)

二、在组件中调用组件

this.$parent 写在组件里面,外部组件调用此组件,则其指向这个组件:

举个例子:

比如elementPlus的组件 el-menu ,我们将其里面的一级二级菜单封装为一个组件,命名为 name:‘DemoMenu’,

//例子
    <el-menu>
        <DemoMenu :list='list'/>
    </el-menu>

这种使用方式 this.$parent 就不是指向外部实例,而是指向 el-menu;

vue子组件this.$parent调用父组件方法报错

TypeError:this.parent.xxx is not a function

在做 vue 项目开发时,遇到了在子组件中利用this.$parent调用父组件的自定义方法,报TypeError: this.$parent.xxx is not a function的错,可是在父组件明明定义了该方法,遂查询 vue.js 的官方文档,但是文档也只有简短的说明,并没有相关的错误提示。

官方文档中没有提示,那就只能自己动手找原因了,随即就在子组件中打印了this.$parent ,通过控制台的打印,发现打印出来的 this.$parent并不是该组件的父组件,而是 Element ui 的组件,原来是我在父组件引用子组件的时候还在外面套了多层 UI 组件导致的。

<div class='app-container'>
    <el-row :guter='20'>
        <el-col>
            ......
            <el-card>
            ......
                <el-tabs v-model="activeName" @tab-click="handleClick">
                     <p slot="title">标题</p>
                     <my-component></my-component>
                 </el-tabs>
            </el-card>
        </el-col>
    </el-row>
</div>

打印this.parent会发现my−component的父组件为 parent会发现my-component的父组件为parent会发现my−component的父组件为 $el:div#pane-userinfo.el-tab-pane,需要一直$this.parent.parent.parent.parent.parent.parent找到 $el:div.app-contain 才可调用父组件方法。

或者将子组件移到 UI 组件外面也可以调用到

<div class='app-container'>
     <my-component></my-component>     
</div>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: vue中this.$parent的使用方式

本文链接: https://www.lsjlt.com/news/144550.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue中this.$parent的使用方式
    目录vue组件this.$parent一、在实例中二、在组件中调用组件vue子组件this.$parent调用父组件方法报错TypeError:this.parent.xxx is ...
    99+
    2022-11-13
  • vue中this.$createElement方法的使用
    目录vue this.$createElement方法关于createElement使用实例参数说明使用示例源码解读vue this.$createElement方法 element...
    99+
    2022-11-13
  • Vue中this.$nextTick()的理解与使用方法
    目录this.$nextTick()原理:1.Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新。2.Vue官网3.等价转换,如果thi...
    99+
    2022-11-13
  • vue中this.$emit使用方法的实际案例
    目录需求:1新增页面2 新增页面中点击关联项目弹出的页面3实现效果总结this.$emit()主要用于子组件向父组件传值。 下面就给大家举一个实际开发中使用到的案例。 需求: 点击关...
    99+
    2023-02-10
    vue this.$emit作用 vue this.$emit
  • vue中 this.$set的使用详解
    目录vue中 this.$set的使用使用为什么能够响应式?分析总结vue中 this.$set的使用 背景:在我写前端项目的时候,后端给我们的一个json对象,并且我已经渲染在页面...
    99+
    2022-11-12
  • Vue中this.$nextTick()的具体使用
    目录1、官网说法2、DOM 更新3、获取更新后的 DOM4、小结:this.$nextTick()的使用场景1、官网说法 在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后...
    99+
    2023-02-06
    Vue this.$nextTick()
  • Vue中this.$router和this.$route的区别及push()方法
    官房文档里是这样说明的: 通过注入路由器,我们可以在任何组件内通过 this.$router 访问路由器,也可以通过 this.$route ...
    99+
    2022-11-12
  • php中parent的方法有什么用
    这篇文章主要介绍php中parent的方法有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php中parent的方法可用于调用父类中定义的成员方法,代码为【class Manager extends emplo...
    99+
    2023-06-06
  • Vue中$forceUpdate()的使用方式
    目录$forceUpdate()的使用有两种解决方法 方法一方法二关于$forceUpdate的一些理解$forceUpdate()的使用 在Vue官方文档中指出...
    99+
    2022-11-13
  • Vue中的.vue文件的使用方式
    目录定义.vue文件引用.vue文件使用render函数什么是.vue文件,它的作用是什么需要安装vue-loader npm i vue-loader vue-template-c...
    99+
    2022-11-13
  • Vue的this.$nextTick怎么使用
    这篇“Vue的this.$nextTick怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue的this.$next...
    99+
    2023-07-04
  • 关于Vue中this.$set的正确使用
    this.#set(obj, key, value) 我们在项目开发的过程中,经常会遇到这种情况:为data中的某一个对象添加一个属性 <template> <...
    99+
    2022-12-09
    this.$set的使用 vue this.$set
  • Vue中的Vue.set和this.$set怎么使用
    这篇文章主要介绍“Vue中的Vue.set和this.$set怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue中的Vue.set和this.$set怎么使用”文章能帮助大家解决问题。一、...
    99+
    2023-06-29
  • vue中this.$refs.tabs.refreshs()刷新组件的方法
    本文小编为大家详细介绍“vue中this.$refs.tabs.refreshs()刷新组件的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue中this.$refs.tabs.refreshs()刷新组件的方法”文章能帮助大家解决...
    99+
    2023-06-29
  • vue项目中使用this.$confirm解析
    目录vue使用this.$confirmvue TypeError: this.$confirm is not a function错误解决方案vue使用this.$confirm ...
    99+
    2022-11-13
  • vue项目中js文件使用vue的this实例说明
    目录vue中其他.js文件使用this实例main.js中导出vuerequest.js中导入main.js并使用vue模板使用this问题vue中其他.js文件使用this实例 在...
    99+
    2022-12-08
    vue项目js文件 vue的this js文件使用vue的this
  • Java中static、this、super、final的使用方法
    这篇文章主要介绍“Java中static、this、super、final的使用方法”,在日常操作中,相信很多人在Java中static、this、super、final的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-06-03
  • vue中letthat=this的作用及说明
    目录vue let that=this的作用vue.js的this作用域问题vue let that=this的作用 this 会随着上下文环境而变换它的指向,在当前作用域中设置一个...
    99+
    2022-11-13
    vue中let that=this let that=this vue中this
  • vue中的this指向有什么用
    小编给大家分享一下vue中的this指向有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!vue 中的this 指向?以上是...
    99+
    2022-10-19
  • vue项目中的this.$get,this.$post等$的用法案例详解
    vue官网上有这么一句话 vue.js的插件应该暴露一个install方法。这个方法的第一个参数是vue构造器,第二个参数是一个可选的选项对象: 注意要首先安装axios 即 np...
    99+
    2022-12-10
    vue 中的this.$get this.$post等$的用法 vue 中this.$get this.$post
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作