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


前言

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


一、工程准备

选择vue3

二、使用步骤

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

在这里插入图片描述

在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  
				})
			}
		}

效果
在这里插入图片描述

4、效果

在这里插入图片描述
点击按钮,上面的值会+1,该值就是store里面state的count

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uni-app使用 PDFH5,可以通过以下步骤实现: 1. 安装依赖:在你的 Uni-app 项目根目录下,打开终端并执行以下命令安装 pdfh5 插件: ```bash npm install pdfh5 --save ``` 2. 引入插件:在需要使用 PDFH5 的页面中,打开该页面的 vue 文件,添加以下代码: ```vue <template> <view> <pdfh5 :src="pdfUrl"></pdfh5> </view> </template> <script> import pdfh5 from 'pdfh5' export default { components: { pdfh5 }, data() { return { pdfUrl: 'your_pdf_url' } } } </script> ``` 上述代码中,通过 `<pdfh5>` 标签引入了 PDFH5 组件,并通过 `src` 属性绑定了一个 PDF 文件的 URL。 3. 配置页面样式:为了确保 PDFH5 组件正常显示,你需要在页面的样式文件中添加以下代码: ```css /* 页面样式文件(xxx.vue) */ <style> .pdf-container { width: 100%; height: 100%; overflow: auto; } .pdf-container iframe { width: 100%; height: 100%; border: none; } </style> ``` 上述代码中,我们为 PDFH5 组件的包裹容器 `.pdf-container` 设置了适当的宽度和高度,并移除了 iframe 的边框样式。 4. 替换 `pdfUrl` 的值:将上述代码中的 `pdfUrl` 替换为你实际的 PDF 文件的 URL。 5. 运行项目:保存文件后,通过运行 Uni-app 项目来查看 PDF 文件的显示效果。 通过以上步骤,你就可以在 Uni-app + Vue3 中使用 PDFH5 来展示 PDF 文件了。请确保你已经提前准备好了 PDF 文件,并将其链接或路径正确地赋值给 `pdfUrl` 属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值