返回顶部
首页 > 资讯 > 精选 >Vue3之getCurrentInstance与ts如何结合使用
  • 445
分享到

Vue3之getCurrentInstance与ts如何结合使用

2023-07-06 12:07:09 445人浏览 八月长安
摘要

这篇文章主要介绍“vue3之getCurrentInstance与ts如何结合使用”,在日常操作中,相信很多人在Vue3之getCurrentInstance与ts如何结合使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希

这篇文章主要介绍“vue3之getCurrentInstance与ts如何结合使用”,在日常操作中,相信很多人在Vue3之getCurrentInstance与ts如何结合使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3之getCurrentInstance与ts如何结合使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

getCurrentInstance与ts结合使用

vue3项目中,如果不用ts这样使用是没问题的

const { proxy } = getCurrentInstance()

在ts中使用会报错:报错:...类型“ComponentInternalInstance | null”

我们在项目中一般会用到很多getCurrentInstance()方法,直接封装一下

创建useCurrentInstance.ts文件:

import { ComponentInternalInstance, getCurrentInstance } from 'vue'export default function useCurrentInstance() {    const { appContext } = getCurrentInstance() as ComponentInternalInstance    const proxy = appContext.config.globalProperties    return {        proxy    }}

组件内使用:

<script lang="ts">import { defineComponent } from "vue";import useCurrentInstance from "@/utils/useCurrentInstance";export default defineComponent({  setup() {    const { proxy } = useCurrentInstance();    console.log(proxy);  },});</script>

vue3+ts使用getCurrentInstance报错

vue3中没有this + 各种api的方法

vue3提供的方法,创建类似于this的实例。

const instance = getCurrentInstance() const a1= getCurrentInstance();a1.$toast({type: 'error', text: '登录失败' });

这种只适合本地调试,运行到线上就会报错,报错详情为:

类型“ComponentInternalInstance | null”上不存在属性“proxy”。ts(2339)

然后下面会报这个错误

Unsafe member access .$axiOS on an `any` value.  eslint@typescript-eslint/no-unsafe-member-access

Unsafe call of an `any` typed value.  eslint@typescript-eslint/no-unsafe-call

原因:

getCurrentInstance()的返回类型存在null所以在此处添加断言即可。

在proxy后面添加?来过滤null的结果,即:

const instance = getCurrentInstance()?.proxy   instance ?.$toast('请xxx!')

到此,关于“Vue3之getCurrentInstance与ts如何结合使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Vue3之getCurrentInstance与ts如何结合使用

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

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

猜你喜欢
  • Vue3之getCurrentInstance与ts如何结合使用
    这篇文章主要介绍“Vue3之getCurrentInstance与ts如何结合使用”,在日常操作中,相信很多人在Vue3之getCurrentInstance与ts如何结合使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-07-06
  • Vue3之getCurrentInstance与ts结合使用的方式
    目录getCurrentInstance与ts结合使用vue3+ts使用getCurrentInstance报错总结getCurrentInstance与ts结合使用 vue3项目中...
    99+
    2023-05-17
    Vue3 getCurrentInstance Vue3 ts getCurrentInstance与ts结合使用
  • vue3中的getCurrentInstance如何使用
    这篇“vue3中的getCurrentInstance如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中的ge...
    99+
    2023-07-06
  • vue3中如何使用ts
    目录如何使用tsapp.vueheader.vuelist.vuelistitem.vuefooter.vue如何使用ts 在创建vue脚手架的时候吧typescript选上 app...
    99+
    2024-04-02
  • 使用vue3+ts+setup获取全局变量getCurrentInstance的方法实例
    目录前言:vue3官方提供的方法1、引入方法2、定义变量,接到我们的方法3、main.js中定义我们的全局变量4、页面中使用我们的全局变量vue3+ts 使用官方方法遇到的问题:最终...
    99+
    2022-11-13
    vue3获取全局变量 vue3的setup函数 vue3全局变量
  • Vue3+ts+setup getCurrentInstance使用时遇到的问题以及解决办法
    目录环境问题描述问题解决补充:Vue3 getCurrentInstance与ts结合使用的坑一、关于在ts中使用到类型定义错误问题二.不能使用getCurrentInstance的...
    99+
    2022-11-13
    vue3 getCurrentInstance vue3 ts setup vue3setup实际应用
  • 如何使用Vue3+ts开发ProTable
    使用方法<template> <el-tabs type="border-card" v-model="activeName"> <el-tab-pane ...
    99+
    2023-05-14
    Vue3 ts ProTable
  • 如何使用vue3+TS实现简易组件库
    这篇文章主要为大家展示了“如何使用vue3+TS实现简易组件库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用vue3+TS实现简易组件库”这篇文章吧。前置首先下载vue-cli,搭建我们...
    99+
    2023-06-29
  • 如何使用vue3+ts+vite+electron搭建桌面应用
    本文小编为大家详细介绍“如何使用vue3+ts+vite+electron搭建桌面应用”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用vue3+ts+vite+electron搭建桌面应用”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-07-06
  • 如何结合使用vue2.0与bootstrap datetimepicker
    这篇文章主要为大家展示了“如何结合使用vue2.0与bootstrap datetimepicker”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何结合使用v...
    99+
    2024-04-02
  • 如何将 Go 与 MongoDB 结合使用?
    MongoDB 是一种流行的 NoSQL 数据库,广泛应用于现代 Web 应用程序中。另一方面,Go 是一种快速高效的编程语言,在构建 Web 应用程序方面越来越受欢迎。在本文中,我们将讨论如何将 Go 与 MongoDB 结合使用,包括如...
    99+
    2023-10-22
  • 如何将 Go 与 MySQL 结合使用?
    MySQL是一种流行的开源关系型数据库管理系统,在现代Web应用程序中被广泛使用。另一方面,Go是一种快速高效的编程语言,越来越受欢迎用于构建Web应用程序。在本文中,我们将讨论如何使用Go与MySQL,包括如何连接到MySQL数据库以及如...
    99+
    2023-10-22
  • 详解如何在Vue3使用<scriptlang=“ts“setup>语法糖
    目录迁移组件隐式返回definePropsdefineEmits默认关闭和defineExposeVue 3.2 引入了语法,这是一种稍微不那么冗长的声明组件的方式。您可以通过向 S...
    99+
    2024-04-02
  • 如何使用Vue3+TS实现语音播放组件
    这篇文章主要介绍如何使用Vue3+TS实现语音播放组件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!该功能将使用vue3 + TS来实现语音播放组件,使用什么技术不重要,重要的是看懂了核心逻辑后,通过原生js、rea...
    99+
    2023-06-29
  • 如何在Vue3中使用<script lang=“ts“ setup>语法糖
    这篇“如何在Vue3中使用<script lang=“ts“ setup>语法糖”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下...
    99+
    2023-07-06
  • vue3+ts中怎么使用ref与reactive指定类型
    今天小编给大家分享一下vue3+ts中怎么使用ref与reactive指定类型的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-02
  • 如何在vue3+ts项目中使用query和params传参
    目录一 query 传参 (类似get请求)query 传参方式①query 传参方式② query 传参方式③二 params 传参 (类似post请求)params 传...
    99+
    2023-05-16
    vue query和params传参区别 vue的query传参 vue的params传参
  • Linux下find与exec如何结合使用
    这篇文章主要为大家展示了“Linux下find与exec如何结合使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下find与exec如何结合使用”这篇文章吧。在Linux下工作,fi...
    99+
    2023-06-15
  • Java语言如何与Numpy结合使用?
    Numpy是一个开源的Python科学计算库,它提供了高效的多维数组对象以及用于处理这些数组的函数。Java语言作为一门强大的面向对象编程语言,在数据处理方面的强大功能也是不容忽视的。那么Java语言如何与Numpy结合使用呢?在本文中,...
    99+
    2023-06-04
    numpy 自然语言处理 索引
  • Vue3之Teleport组件如何使用
    这篇文章主要介绍了Vue3之Teleport组件如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3之Teleport组件如何使用文章都会有所收获,下面我们一起来看看吧。Teleport 组件解决的问...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作