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

【uniapp】(6) uniapp中使用vuex

uniapp内置了vuex不需要通过npm重新安装直接引用即可1、创建 Vuex Store1在uniapp项目根目录下创建 store/index.jsimport Vue from vue import Vuex from vuex Vue.use(Vuex) const store new Vuex.Store({ //存放状态 state: { userName: admin, userAge: 20, } // modules: { }, }) export default store2main.js中去配置store并挂载到vue实例中import App from ./App // #ifndef VUE3 import Vue from vue import ./uni.promisify.adaptor //引入uviewUI 组件库 // import uView from /uni_modules/uview-ui // Vue.use(uView) import store from ./store//vuex(1) - 引入store import uView from uview-ui; Vue.use(uView); Vue.config.productionTip false Vue.prototype.store store //vuex(2)--全局挂载store, 使用方法 this.$store.xxx App.mpType app const app new Vue({ ...App, store, //vuex3-- 挂载到vue实例中 }) app.$mount() // #endif // #ifdef VUE3 import { createSSRApp } from vue export function createApp() { const app createSSRApp(App) return { app } } // #endif2、uniapp页面中vuex的调用方法1、使用vuex中的 mapState 辅助函数获取 推荐使用 import {mapState} from vuex //方法3、通过引入 mapState 辅助函数获取store中值 //方法3mapState 获取store中数据 computed: { ...mapState({ //从state中拿到数据箭头函数更简便 username: state state.userName, userage: state state.userAge, }), }, /*其他调用方式*/ 方法2、目标页面直接引入store/index.js文件调用 import store from /store/index.js computed:{ username(){ return store.state.userName //方法1、直接引用store--获取数据 }, }, 方法3、通过main.js中全局挂载的store获取 computed:{ userage(){ return this.$store.state.userAge //方法2、通过main.js的挂载使用 this.$store } },template view classcontent image classlogo src/static/logo.png/image view view姓名{{username}}/view view年龄{{userage}}/view /view /view /template script import { mapState } from vuex//(1)通过引入mapState辅助函数获取store中值 export default { data() { return { title: Hello } }, onLoad() { }, computed:{ ...mapState({ username:state state.userName, userage:state state.userAge }) }, methods: { } } /script style .content { display: flex; flex-direction: column; align-items: center; justify-content: center; } .logo { height: 200rpx; width: 200rpx; margin-top: 200rpx; margin-left: auto; margin-right: auto; margin-bottom: 50rpx; } .text-area { display: flex; justify-content: center; } .title { font-size: 36rpx; color: #8f8f94; } /style3、获取设备基本信息并保存到vuex中1store/index.js 添加设备信息元素并添加同步异步修改方法import Vue from vue import Vuex from vuex Vue.use(Vuex) //注册并使用vuex // vuex 主要包括 5大模块 state、mutations、actions、 getters、modules //Vuex.Store 构造器选项 const store new Vuex.Store({ //存放状态 state: { userName: admin, userAge: 20, systemInfo: , //存储设备信息 statusBarHeight: 0, //设备顶部状态栏信息 }, //获取数据 getters: {}, //执行同步操作方法 mutations: { //设置设备信息 SET_SYSTEM_INFO(state, data) { console.warn(--vuex-- setSystemInfo--, state, data) state.systemInfo data ? data : }, //设置顶部导航栏高度 SET_STATUS_BAR_HEIGHT(state, data) { console.warn(---vuex-- setStatusBarHeight--, state, data) state.setStatusBarHeight data || 0 }, }, //提交 mutations 执行异步操作方法 actions: { SET_SYSTEM_INFO_ASYNC(context, value) { context.commit(SET_SYSTEM_INFO, value) }, SET_STATUS_BAR_HEIGHT_ASYNC(context, value) { context.commit(SET_STATUS_BAR_HEIGHT, value) }, }, //细分模块 modules: {} }) //默认导出 export default store2App.vue中获取设备基础信息并存储到vuex中script import store from ./store //(1)引入store export default { onLaunch: function() { console.log(App Launch) uni.getSystemInfo({ success: function(res) { console.warn(---获取设备信息 getSystemInfo---, res) console.log(状态栏高度, res.statusBarHeight) //手机状态栏高度 console.log(系统名称, res.osName) //系统名称 console.log(手机型号, res.model); // 手机型号 console.log(设备像素比, res.pixelRatio); // 设备像素比 console.log(屏幕宽度, res.screenWidth); // 屏幕宽度 console.log(屏幕高度, res.screenHeight); // 屏幕高度 console.log(可使用窗口宽度, res.windowWidth); // 可使用窗口宽度 console.log(可使用窗口高度, res.windowHeight); // 可使用窗口高度 console.log(微信设置的语言, res.language); // 微信设置的语言 console.log(微信版本号, res.version); // 微信版本号 //2设备信息存储到vuex中 store.dispatch(SET_SYSTEM_INFO_ASYNC, res) store.dispatch(SET_STATUS_BAR_HEIGHT_ASYNC, res.statusBarHeight) }, }) }, onShow: function() { console.log(App Show) }, onHide: function() { console.log(App Hide) } } /script style langscss /*每个页面公共css */ /* 注意要写在第一行同时给style标签加入langscss属性 */ // import /uni_modules/uview-ui/index.scss; import uview-ui/index.scss; /style3效果展示4拓展知识// 调用方式需要加上模块路径 -- 调用mutations方法 this.$store.commit(system/setSystemInfoAsync) // ✓ 正确 // 或 ...mapMutations(system, [setSystemInfoAsync]) // 页面调用 action方法 this.$store.dispatch(setSystemInfoAsync)

相关文章:

【uniapp】(6) uniapp中使用vuex

uniapp内置了vuex,不需要通过npm重新安装,直接引用即可1、创建 Vuex Store(1)在uniapp项目根目录下创建 store/index.jsimport Vue from vue import Vuex from vuexVue.use(Vuex)const store new Vuex.Store({//存放状态state: …...

G-Helper深度解析:华硕笔记本轻量级性能控制架构与实战指南

G-Helper深度解析:华硕笔记本轻量级性能控制架构与实战指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Stri…...

实战应用:基于快马AI构建openclaw101官网从登录到跳转的完整流程

今天想和大家分享一个基于InsCode(快马)平台实现的登录系统实战案例。这个项目模拟了openclaw101官网从登录到跳转的完整流程,特别适合想学习前后端交互的同学参考。 项目整体架构 这个登录系统采用经典的前后端分离设计。前端使用纯HTMLCSSJavaScript实现页面交互&…...

9个非技术岗也能胜任的AI岗位,小白程序员看过来,建议收藏![特殊字符]

9个非技术岗也能胜任的AI岗位,小白程序员看过来,建议收藏!🔥 本文介绍了9个适合非技术背景人士的AI相关岗位,包括AI产品运营、大模型产品助理、AI客服训练师等,涵盖了岗位职责、薪资水平、招聘方及入门建议…...

5分钟让老旧打印机变身AirPrint无线打印神器:cups-avahi-airprint完全指南

5分钟让老旧打印机变身AirPrint无线打印神器:cups-avahi-airprint完全指南 【免费下载链接】cups-avahi-airprint Docker image for CUPS intended as an AirPrint relay 项目地址: https://gitcode.com/gh_mirrors/cu/cups-avahi-airprint 在苹果生态日益普…...

IwrQk:5个关键功能打造完美的Iwara跨平台视频社区体验

IwrQk:5个关键功能打造完美的Iwara跨平台视频社区体验 【免费下载链接】iwrqk Unofficial Iwara Flutter Client 项目地址: https://gitcode.com/gh_mirrors/iw/iwrqk IwrQk是一款基于Flutter框架开发的跨平台Iwara客户端应用,专为iOS和Android设…...

告别漫长ps软件下载等待,用快马ai即刻生成你的高效修图工作台

作为一个经常需要处理图片的创作者,我深知传统PS软件下载安装的痛点:动辄几个G的安装包、漫长的等待时间、复杂的配置过程。直到发现了InsCode(快马)平台,才真正体会到什么叫"即开即用"的高效修图体验。 批量处理革命 以前要给几十…...

联想拯救者Y7000系列BIOS隐藏功能一键解锁工具:3分钟开启高级设置,轻松安装黑苹果

联想拯救者Y7000系列BIOS隐藏功能一键解锁工具:3分钟开启高级设置,轻松安装黑苹果 【免费下载链接】LEGION_Y7000Series_Insyde_Advanced_Settings_Tools 支持一键修改 Insyde BIOS 隐藏选项的小工具,例如关闭CFG LOCK、修改DVMT等等 项目地…...

猫抓插件终极指南:5分钟快速掌握浏览器资源嗅探与高效下载

猫抓插件终极指南:5分钟快速掌握浏览器资源嗅探与高效下载 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否曾经在浏览网页时&…...

如何用3步永久保存QQ空间回忆?GetQzonehistory全攻略

如何用3步永久保存QQ空间回忆?GetQzonehistory全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否担心过QQ空间里那些承载青春记忆的说说会突然消失?Ge…...

插件语言转换解决方案:让Obsidian插件无缝支持中文界面

插件语言转换解决方案:让Obsidian插件无缝支持中文界面 【免费下载链接】obsidian-i18n 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-i18n obsidian-i18n(国际化缩写)是一款专为中文用户设计的Obsidian插件翻译工具&#…...

解决Mac性能波动问题:用Turbo Boost Switcher实现系统稳定性提升30%

解决Mac性能波动问题:用Turbo Boost Switcher实现系统稳定性提升30% 【免费下载链接】Turbo-Boost-Switcher Turbo Boost disabler / enable app for Mac OS X 项目地址: https://gitcode.com/gh_mirrors/tu/Turbo-Boost-Switcher 🔍 问题诊断&am…...

(28)UE 里在树视图等里点击条目,会触发三个事件,先是 entry里的用户列表接口里的事件,再是树视图里的事件

(51)(52) 谢谢...

旧设备升级指南:用OpenCore Legacy Patcher让Mac重获新生的5个实用步骤

旧设备升级指南:用OpenCore Legacy Patcher让Mac重获新生的5个实用步骤 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 随着苹果系统的不断更新&a…...

掌握Agentic RAG:大模型检索进阶实践,小白也能轻松收藏学习!

掌握Agentic RAG:大模型检索进阶实践,小白也能轻松收藏学习! 本文深入解析了Agentic RAG架构如何通过智能代理能力、动态任务规划和多步骤推理,超越传统RAG的被动模式,实现复杂问题的自主拆解与精准回答。以DeepSearch…...

HunyuanVideo-Foley部署教程:vSphere虚拟机中GPU直通RTX4090D配置指南

HunyuanVideo-Foley部署教程:vSphere虚拟机中GPU直通RTX4090D配置指南 1. 环境准备与硬件要求 1.1 硬件配置清单 显卡:RTX 4090D 24GB显存(必须)CPU:10核及以上(推荐Intel Xeon或AMD EPYC)内…...

像素时装锻造坊应用场景:NFT项目像素角色皮肤的批量生成方案

像素时装锻造坊应用场景:NFT项目像素角色皮肤的批量生成方案 1. 项目背景与核心价值 像素时装锻造坊(Pixel Fashion Atelier)是一款专为NFT项目设计的像素角色皮肤批量生成工具。它基于Stable Diffusion与Anything-v5技术栈,将传…...

告别手动输入:用快马ai自动化mathtype公式生成,效率提升300%

作为一名经常需要写技术文档的开发者,数学公式的输入一直是个头疼的问题。传统的方式要么是手动在Mathtype里点选符号,要么得记住各种LaTeX语法,效率实在太低。最近尝试用InsCode(快马)平台开发了一个自动化工具,终于解决了这个痛…...

3分钟快速上手:HunterPie游戏界面增强工具终极使用指南

3分钟快速上手:HunterPie游戏界面增强工具终极使用指南 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode.com/gh_mirrors/hu/HunterPie-l…...

新手福音,用快马平台可视化学习apifox接口调用与测试

作为一个刚接触API开发的新手,第一次看到各种接口文档时完全摸不着头脑。直到发现了Apifox这个工具,配合InsCode(快马)平台的智能生成功能,终于找到了最适合新手的可视化学习路径。下面分享我的学习心得: 为什么选择Apifox作为入门…...

7个核心价值点:Python学习路径与实战案例深度解析

7个核心价值点:Python学习路径与实战案例深度解析 【免费下载链接】Python-100-Days Python - 100天从新手到大师 项目地址: https://gitcode.com/GitHub_Trending/py/Python-100-Days Python作为一门多用途编程语言,在数据分析、Web开发、人工智…...

用快马AI将数据库理论变现实:三分钟搭建学生信息管理原型

用快马AI将数据库理论变现实:三分钟搭建学生信息管理原型 数据库系统概论这门课我学了很久,但总觉得理论和实践之间隔着一道鸿沟。直到最近尝试用InsCode(快马)平台快速搭建了一个学生信息管理系统原型,才发现原来抽象的概念可以这么直观地呈…...

端侧AI 模型部署实战二(云端、PC 本地、手机端侧主流大模型及部署工具 )

AI的大模型部署主要有云端、PC 本地、手机端侧 三大场景。* 云端大模型(在线 API / 网页,最强能力)* PC 本地大模型(Windows/macOS,GGUF 优先)* 消费电子(手机端侧大模型Android/iOS&#xff0c…...

wxlivespy:微信视频号直播数据高效捕获与智能分析解决方案

wxlivespy:微信视频号直播数据高效捕获与智能分析解决方案 【免费下载链接】wxlivespy 微信视频号直播间弹幕信息抓取工具 项目地址: https://gitcode.com/gh_mirrors/wx/wxlivespy 在数字化直播浪潮中,实时数据已成为驱动运营决策的核心引擎。wx…...

5分钟掌握UEFI启动画面个性化:HackBGRT终极指南

5分钟掌握UEFI启动画面个性化:HackBGRT终极指南 【免费下载链接】HackBGRT Windows boot logo changer for UEFI systems 项目地址: https://gitcode.com/gh_mirrors/ha/HackBGRT 你是否厌倦了每次开机都看到单调乏味的厂商Logo?想要在启动时展示…...

微信视频号直播数据捕获技术:从原理到实践的全方位解析

微信视频号直播数据捕获技术:从原理到实践的全方位解析 【免费下载链接】wxlivespy 微信视频号直播间弹幕信息抓取工具 项目地址: https://gitcode.com/gh_mirrors/wx/wxlivespy 一、技术原理:构建实时数据捕获的核心引擎 1.1 三层数据处理架构&…...

如何快速解密科学文库加密文档:终极免费解密工具指南

如何快速解密科学文库加密文档:终极免费解密工具指南 【免费下载链接】ScienceDecrypting 破解CAJViewer带有效期的文档,支持破解科学文库、标准全文数据库下载的文档。无损破解,保留文字和目录,解除有效期限制。 项目地址: htt…...

在PHP中,何时使用静态工厂方法替代构造函数?

在 PHP 中,构造函数 (__construct) 是实例化对象的默认方式,但它有几个明显的局限性: 名称固定:只能叫 __construct,无法表达意图。返回类型固定:只能返回当前类的实例,不能返回子类或缓存对象。…...

用快马平台十分钟复刻lostlife:快速构建你的首个交互式游戏原型

最近想尝试做个简单的交互式游戏原型,正好看到InsCode(快马)平台可以快速生成项目代码,就试了试复刻类似lostlife的玩法。整个过程比想象中顺利,分享下我的实现思路: 确定核心交互逻辑 游戏的核心是点击角色触发反馈,所…...

Docker启动Easysearch自定义密码5种方法,flask_socketio+pyautogui实现的具有加密传输功能的极简远程桌面。

Docker 启动 Easysearch 时自定义初始密码的几种方式 通过环境变量直接设置密码 在运行 Docker 容器时,可以使用 -e 参数传递环境变量 ELASTIC_PASSWORD 来设置初始密码。 docker run -d --name easysearch \-p 9200:9200 \-e "ELASTIC_PASSWORDyour_custom_pa…...