当前位置: 首页 > article >正文

vue3 如何调用第三方npm包内部的 pinia 状态管理库方法

抛砖引玉:

如果在开发vue3项目是, 引用了npm第三方包 ,而且这个包内使用了Pinia 状态管理库,那我们如何去调用 npm内部的 Pinia 状态管理库呢?

实际遇到的问题:

今天在制作npm包时遇到的问题,之前Vue2版本的时候状态管理库用的Vuex ,当时调用npm包内的状态管理库很简单,直接引用包内的store就行了. 

但是Vue3 里的Pinia 就不一样了,可能也是第一次遇到这种问题,卡了我一个多小时, 这时候Ai都不好使了,最后还是脑洞大开自己解决了.

整体代码如下:

# 第一步,引用第三方npm包

"microi-pageengine": "^1.1.0",

# 第二步, 调用包内暴露的接口

import { formDesigner, EventBus, usePageEngineStore } from 'microi-pageengine' //导入
import 'microi-pageengine/style.css' //引入组件相关样式

# 第三步 ,调用组件

<template>
  <!-- 页面设计器 -->
  <formDesigner :remoteObj="remoteObj" />
  <!-- 页面渲染器 -->
  <!-- <formRenderer :remoteObj="remoteObj" /> -->
</template>

# 第四步 
<script setup>
```省略其他代码
  
 //这里就是调用第三方npm包内部的pinia状态机方法体,然后就报错了
 const pageEngineStore = usePageEngineStore()
 pageEngineStore.setToken('')

```省略其他代码
</script>

我尝试了各种方法都不行,折腾了好久,后来这样改就好了,要把自己的pinia以参数的形式传给它才行

 const pageEngineStore = usePageEngineStore( pinia )   // 这个参数是精髓

 

<script setup>
```其他省略

import { createPinia } from 'pinia'
const pinia = createPinia()

import { formDesigner, EventBus, usePageEngineStore } from 'microi-pageengine' //导入
import 'microi-pageengine/style.css' //引入组件相关样式

const pageEngineStore = usePageEngineStore(pinia)  //这句使精髓

```其他省略

</script>  


http://www.kler.cn/a/398988.html

相关文章:

  • reactflow 中 selectionMode 组件作用
  • 另外一种缓冲式图片组件的用法
  • 大数据-226 离线数仓 - Flume 优化配置 自定义拦截器 拦截原理 拦截器实现 Java
  • 外网访问 WebDav 服务
  • A030-基于Spring boot的公司资产网站设计与实现
  • 基于VUE实现语音通话:边录边转发送语言消息、 播放pcm 音频
  • Python脚本实现批量文件重命名与清单生成
  • 前端隐藏元素的方式有哪些?HTML 和 CSS 中隐藏元素的多种方法
  • Spring纯注解开发
  • 【数据库】mysql数据库迁移前应如何备份数据?
  • 机器学习的概览
  • 【金融风控】样本不均衡和异常点检测
  • 随机森林(Random Forest, RF)筛选回归数据(处理异常值)
  • sql注入之二次注入(sqlilabs-less24)
  • JSON.stringify的应用说明
  • ARM(安谋) China处理器
  • 多进程/线程并发服务器
  • 如何判断FPGA能够接入几个Camera
  • STM32外设应用:深入探索STM32微控制器的强大功能
  • 2024 RISC-V中国峰会 安全相关议题汇总
  • 聊天服务器(3)muduo网络库
  • IDEA优雅debug
  • 重构代码之替换算法
  • 9.C++面向对象6(实现一个较为完善的日期类)
  • 高效稳定!新加坡服务器托管方案助力企业全球化布局
  • centos7.9安装mysql社区版