在uni-app使用vue3进行store全局数据共享

这篇具有很好参考价值的文章主要介绍了在uni-app使用vue3进行store全局数据共享。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

在uni-app中使用vue3进行store的全局数据共享,网上文章太杂了,记录一下自己写的一个最简单易懂的例子,以供自己后面需要用到时候可以最直观的知道到底怎么实现


一、工程准备

在uni-app使用vue3进行store全局数据共享

二、使用步骤

1.在项目目录中新建一个store目录,并且新建一个index.js文件

在uni-app使用vue3进行store全局数据共享

在index.js中写入代码如下(示例):
uni-app好像内置vuex,不需要额外下载,如果记错了的话就得先去下载好

import {createStore} from 'vuex'

export default createStore({
	state:{
		count:666
	},
	mutations:{
		increment(state){
			state.count++
		}
	}
})

2.配置main.js文件

代码如下(示例):

//在最顶部
import App from './App'
import Store from './store'

// #ifdef VUE3
import { createSSRApp } from 'vue' //新增的一行
export function createApp() {
  const app = createSSRApp(App)
  app.use(Store) //新增的一行
  return {
    app
  }
}
// #endif

3.在自定义组件中引用

代码如下(示例):

<template>
	<view>
		<view class='box1'>{{$store.state.count}}</view> //打印显示得到的store里面的数据
		<button type="warn" class='box2' @click="addcount">+1</button>
	</view>
</template>

<script>
	import {useStore} from 'vuex' //引入
	import store from '../../store'; //引入,根据自己的目录来
	export default {
		name:"test1",
		data() {
			const store = useStore(); //创建一个store
			console.log(store.state.count) //打印查看
			return {
				
			};
		},
		methods:{
			//按钮点击事件
			addcount(){
				store.commit('increment')  //要想修改store里面state的值,使用commit
				console.log('111')
			}
		}
	}
</script>

此外,可以拓展在tabBar上面,通过store全局数据共享,将state里面的值当作数字徽标的值,在methods里面或者嵌套在click函数里面,实现点击改变tabBar的数字徽标,常用于加入和删除购物车,改变数量。
改变徽标使用uni.setTabBarBadge()

methods:{
			addcount(){
				store.commit('increment');
				console.log('111');
				uni.setTabBarBadge({
					index:1,
					text:store.state.count + ' ' //将其改变为字符串形式
				})
			},
			countTozero(){
				store.commit('toZero');
				console.log('000');
				uni.removeTabBarBadge({  //移除徽标
					index:1  
				})
			}
		}

效果
在uni-app使用vue3进行store全局数据共享

4、效果

在uni-app使用vue3进行store全局数据共享
点击按钮,上面的值会+1,该值就是store里面state的count文章来源地址https://www.toymoban.com/news/detail-483247.html

到了这里,关于在uni-app使用vue3进行store全局数据共享的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序-uni-app:uni-app-base项目基础配置及使用/uni-app+vue3+ts+vite+vscode

    目前(20230605)uni-app最新版本(3.8.4.20230531) 一、官网文档 微信开放文档 uni-app官网 二、创建项目 项目目标:vue3+ts+vite+vscode 创建以 typescript 开发的工程(如命令行创建失败,请直接访问 gitee 下载模板) npx degit dcloudio/uni-preset-vue#vite-ts uniapp-base ​ 本文创建成功 ​ 为了验

    2024年02月15日
    浏览(96)
  • 小程序-uni-app:uni-app-base项目基础配置及使用 / uni-app+vue3+ts+vite+vscode

    目前(20230605)uni-app最新版本(3.8.4.20230531) 一、官网文档 微信开放文档 uni-app官网 二、创建项目 项目目标:vue3+ts+vite+vscode 创建以 typescript 开发的工程(如命令行创建失败,请直接访问 gitee 下载模板) npx degit dcloudio/uni-preset-vue#vite-ts uniapp-base ​ 本文创建成功 ​ 为了验

    2024年02月05日
    浏览(587)
  • uni-app使用vue语法进行开发注意事项

    目录 uni-app 项目目录结构 生命周期 路由 路由跳转 页面栈 条件编译 文本渲染 样式渲染 条件渲染 遍历渲染 事件处理 事件修饰符 组件/标签 使用(类似)小程序 语法/结构 使用vue 具体项目目录如下: uni-app 支持如下应用生命周期函数: 函数名 说明 onLaunch 当 uni-app  初始化

    2024年02月13日
    浏览(54)
  • uni-app使用vue3,在元素或组件实例上添加ref,用this.$refs显示undefined

    项目中引用了一个UI组件库,在表单上添加了`ref`属性,方便提交时验证。触发提交方法时显示不存在这个方法或this.$refs为undefined。 解决方法: 引入`getCurrentInstance`,t得到当前组件实例,然后用`ctx.$refs`代替`this.$refs`。这里的`ctx`相当于全局this。 ------------------ 2023/10/27更新-

    2024年02月07日
    浏览(49)
  • uni-app+vue3会遇到哪些问题

    已经用 uni-app+vue3+ts 开发了一段时间,记录一下日常遇见的问题和解决办法 uni-app 是支持多端,如果你想让你的代码,只在部分平台使用,那么就需要用的它的单端处理语法 //#ifdef 和 //#ifndef 等。 因为有异形手机屏的存在,最顶部有摄像头,最下面有导航条,为了避免界面内

    2024年02月19日
    浏览(46)
  • VUE3、uni-app、SpringBoot登录密码加密

    aes.js import {Encrypt} from \\\'@/utils/aes.js\\\'; loginForm.value.password = Encrypt(password.value); new Aes().decrypt(loginBody.getPassword()) CryptoJS.js aes.js import {Encrypt} from \\\'@/utils/aes.js\\\' Encrypt(this.password)

    2024年02月08日
    浏览(46)
  • 手写类似于BetterScroll样式的左右联动菜单 uni-app+vue3+ts (使用了script setup语法糖)

     注意:在模拟器用鼠标滚动是不会切换光标的,因为使用的是触摸滑动。【自定义类型贴在最后了】 script 部分如下:  template部分如下: scss样式:  category.d.ts main-arr.d.ts  

    2024年02月05日
    浏览(48)
  • Uni-app + Vue3 + TS +Vite 创建项目

    npm 都很熟,可是与 npm 如此相似的 npx 是干嘛的呢?我们为甚要介绍 npx ? 由于 uni-app 官方提供创建命令使用的是 npx,所以我们先来了解下 npx 是干什么的?它与 npm 的区别。 npx 是 npm 的高级版本,它从 npm v5.2 版本开始引入的,与 npm 绑定在一起,无需额外安装,具有更大的功

    2023年04月15日
    浏览(79)
  • uni-app+vue3+ts项目搭建完整流程

    项目代码同步更新至码云 uni-vue3-ts-template 利用 uni-app 开发,有两种方法: 通过 HBuilderX 创建(需安装 HBuilderX 编辑器) 通过命令行创建(需安装 NodeJS 环境),推荐使用 vscode 编辑器 这里我们使用第2种方法,这两种方法官方都有详细介绍 点击查看官方文档 安装 Vue3 插件,点

    2024年02月03日
    浏览(77)
  • uni-app+vue3微信小程序切换主题皮肤

    思路来源: https://blog.csdn.net/qq_42611074/article/details/128236458 引用store做全局css变量替换; store.js 添加全局的监听函数 common/themeMixin.js main.js 给要切换的页面加上css变量 login.vue 升级版 在base.css写好主题配色; 引用store做全局css变量替换; store.js 添加全局的监听函数 common/themeM

    2024年02月12日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包