vue3+Ts使用pinia方式(vue-lic搭建项目)

 更新时间:2025年01月24日 09:31:04   作者:益达木咸醇  
文章介绍了如何在Vue 3项目中使用Pinia进行状态管理,主要内容包括安装Pinia、初始化、在main.ts中注册和使用,以及在.vue的setup中使用state,文章还提到getters和actions的使用可以参考官方文档,总结部分表达了作者希望得到大家支持的意愿

vue3+Ts使用pinia(vue-lic搭建项目)

1、安装

npm install pinia -S

2、pinia初始化

//在store目录下新建多个.ts文件(为了便于模块化和更好维护)
//index.ts
import { manage } from './backstageMange';
export { manage };
//manage.ts
import { defineStore } from 'pinia';
export const manage = defineStore('manageStore',{
	state: () => {
	//状态
		return {
			person: {
				name: 'pinia',
				age: 0,
				say: 'woc'
			},
			reason: '我爱前端',
		}
	},
	getters: {
	//计算属性
	},
	actions: {
	//异步操作
	},
});

3、在main.ts中注册使用

import { createApp } from 'vue';
import { createPinia } from 'pinia';
import App from './App.vue';
const pinia = createPinia();
const app = createApp(App);
app.use(pinia);
app.mount('#app');

4、在.vue的setup中使用

这里我只展示state的使用,getters和actions的使用请转弯到官方网址查阅。

<script lang="ts">
import { defineComponent } from 'vue';
import { manage } from '@/store';
export default defineComponent({
	setup() {
		const store = manage();
		...
		//store.person就可以拿到person这个对象
		//也可以直接把store直接return出去在template中使用
		
		//更改store状态
		//第一种方式,更灵活可以做一些其他的逻辑
		store.$patch((state: any) => {
			...
			state.person['name'] = '益达';
		});
		//第二种方式,只能直接更改某个状态
		store.$patch({
			  reason: '我更爱前端了!', //这里也可以写一个表达式,比如前面有一个变量赋值给reason,hobby ? hobby : '我更爱前端了!'
		})
	}
})
</script>

5、在ts文件中使用状态

import { manage } from '../store';
export function updateAside() {
	const store = manage();
	....
}

总结

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

相关文章

  • 如何解决element-ui中多个table在tab切换时出现宽度缩小问题

    如何解决element-ui中多个table在tab切换时出现宽度缩小问题

    这篇文章主要介绍了如何解决element-ui中多个table在tab切换时出现宽度缩小问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 解决Vue2.0中使用less给元素添加背景图片出现的问题

    解决Vue2.0中使用less给元素添加背景图片出现的问题

    今天小编就为大家分享一篇解决Vue2.0中使用less给元素添加背景图片出现的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue中使用Swiper简单封装组件示例

    Vue中使用Swiper简单封装组件示例

    这篇文章主要为大家介绍了Vue中使用Swiper简单封装组件示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Vue.js系列之项目结构说明(2)

    Vue.js系列之项目结构说明(2)

    这篇文章主要介绍了Vue.js系列之项目结构说明(2)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-01-01
  • Vue路由的模块自动化与统一加载实现

    Vue路由的模块自动化与统一加载实现

    这篇文章主要介绍了Vue路由的模块自动化与统一加载实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • vue3导入excel并解析excel数据渲染到表格中(纯前端实现)

    vue3导入excel并解析excel数据渲染到表格中(纯前端实现)

    在Vue中实现导出Excel有多种方式,可以通过前端实现,也可以通过前后端配合实现,下面这篇文章主要给大家介绍了关于vue3导入excel并解析excel数据渲染到表格中的相关资料,文中介绍的方法是纯前端实现,需要的朋友可以参考下
    2024-04-04
  • Vue 打包上线后的缓存问题解决

    Vue 打包上线后的缓存问题解决

    在使用vue脚手架搭建前端工程时,经常会遇到打包上线后的缓存问题,许多开发者会直接在index.html中加入类似以下代码来解决缓存问题,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-11-11
  • vue+elemet实现表格手动合并行列

    vue+elemet实现表格手动合并行列

    这篇文章主要为大家详细介绍了vue+elemet实现表格手动合并行列,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 前端不用跑项目vscode组件效果所见即所得

    前端不用跑项目vscode组件效果所见即所得

    这篇文章主要为大家介绍了一款不用跑项目的vscode组件所见即所得效果的使用方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Vite+Vue3使用MockJS的实现示例

    Vite+Vue3使用MockJS的实现示例

    写一些纯前端的项目时,自己造数据有些麻烦,于是我们可以利用mock造一些简单的数据,来满足我们的需求,本文主要介绍了Vite+Vue3使用MockJS的实现示例,感兴趣的可以了解一下
    2024-01-01

最新评论