当前位置: 代码网 > it编程>前端脚本>Vue.js > vue3+Ts使用pinia方式(vue-lic搭建项目)

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

2025年02月13日 Vue.js 我要评论
vue3+ts使用pinia(vue-lic搭建项目)1、安装npm install pinia -s2、pinia初始化//在store目录下新建多个.ts文件(为了便于模块化和更好维护)//ind

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();
	....
}

总结

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com