• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    Vue3实现挂载全局方法和用getCurrentInstance代替this

    发布者: Error | 发布时间: 2025-6-14 15:32| 查看数: 79| 评论数: 0|帖子模式

    Vue3挂载全局方法和用getCurrentInstance代替this

    平时我们在开发vue项目的时候,要把一些函数、方法、组件或插件挂在全局上方便项目上每一个页面或模块调用,在vue2.x的时候,在main.js只要用Vue.prototype就能完成,之后在页面上用this来调用,如:
    main.js:

    调用

    在vue3.0的时候挂在全局方法就不一样,通过 app.config.globalProperties来挂载,如挂载axios:

    方法一


    但是切记挂载任何东西之前不能createApp(App)后面不能连缀use()或mount('#app'),如:

    或者


    方法二

    把封装的函数和api挂载在全局变量install方法里,之后导出

    在main.js 引入,

    但是在vue3.0的时候如果用组合api,由于 setup 在生命周期 beforecreate 和 created 前执行,此时 vue 对象还未创建,因无法使用我们在 vue2.x 常用的 this。
    那就用 getCurrentInstance代替this,首先引入,之后声明如下:


    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    来源:https://www.jb51.net/javascript/339921dki.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表