Java老鸟前端小白uniapp+uview开发小程序第2天

embedded/2024/10/19 12:25:53/

声明一下:该系列文章不定时更新,更新也没有预定顺序,纯粹是自己开发笔记。
今天的内容有:

  • uniapp的页面路由、跳转、参数、Vuex等

1、uniapp页面

  • pages文件夹下新建vuenvue文件
  • pages.json配置页面属性
    "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages{"path": "pages/index/index","style": {"navigationBarTitleText": "首页"}},{"path" : "pages/home/home","style" : {"navigationBarTitleText" : "新朋友"}}
    ],
    

以上步骤使用HbuilerX创建页面的时间会自动完成

2、页面跳转

2.1 uni.navigateTo

跳转到新页面,不会关闭当前页面

  • 不带参数:

    // 使用uni.navigateTo跳转到新页面
    uni.navigateTo({url: '/pages/home/home' // 这里的URL是相对于pages.json中配置的路径
    });
    
  • 带有参数:

    • 带参数跳转
      function navigateToPageB() {const param = { id: 123, name: 'uniapp' };// 使用 encodeURIComponent 对参数进行编码const params = encodeURIComponent(JSON.stringify(param));uni.navigateTo({url: `/pages/pageB/pageB?params=${params}`});
      }
      
    • 接收参数
      export default {onLoad(options) {// 获取传递的参数if (options.params) {// 使用 decodeURIComponent 解码并解析 JSONconst param = JSON.parse(decodeURIComponent(options.params));console.log(param); // { id: 123, name: 'uniapp' }}}
      }
      
2.2 uni.redirectTo

跳转到新页面,会关闭当前页面

  • 不带参数:
    // 使用 uni.redirectTo 进行页面跳转 (会关闭当前页面)
    uni.redirectTo({url: '/pages/home/home' // 这里的URL是相对于pages.json中配置的路径
    });
    
  • 带有参数:
    • 带参数跳转

      function redirectToPageB() {const param = { id: 123, name: 'uniapp' };// 使用 encodeURIComponent 对参数进行编码const params = encodeURIComponent(JSON.stringify(param));uni.redirectTo({url: `/pages/pageB/pageB?params=${params}`});
      }
      
    • 接收参数

      export default {onLoad(options) {if (options.params) {const param = JSON.parse(decodeURIComponent(options.params));console.log(param); }}
      }
      

3、Vuex 全局状态

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式和库。这里只记录它的用法:

3.1 用法1:页面传递参数
  • 设置 Vuex
    // store.js
    export const store = new Vuex.Store({state: {sharedData: null},mutations: {setSharedData(state, data) {state.sharedData = data;}}
    });
    
  • 页面设置数据
    import { mapMutations } from 'vuex';export default {methods: {...mapMutations(['setSharedData']),navigateToPageB() {const data = { id: 789, name: 'vuex' };this.setSharedData(data); // 将数据存储在 Vuex 中uni.navigateTo({url: '/pages/pageB/pageB'});}}
    }
  • 页面获取数据
    import { mapState } from 'vuex';export default {computed: {...mapState(['sharedData'])},onLoad() {console.log(this.sharedData); // { id: 789, name: 'vuex' }}
    }
    

今天摸鱼到此,赶紧写代码去


http://www.ppmy.cn/embedded/128738.html

相关文章

开源限流组件分析(一):juju/ratelimit

文章目录 前言数据结构对外提供接口初始化令牌桶获取令牌 核心方法adjustavailableTokenscurrentTicktakeTakeAvailableWait系列 前言 这篇文章分析下go开源限流组件juju-ratelimit的使用方式和源码实现细节 源码地址:https://github.com/juju/ratelimit 版本&…

精心整理85道Java微服务面试题(含答案)

微服务 面试题 1、您对微服务有何了解? 2、微服务架构有哪些优势? 3。微服务有哪些特点? 4、设计微服务的最佳实践是什么? 5、微服务架构如何运作? 6、微服务架构的优缺点是什么? 7、单片&#xff0…

iPad备份软件哪个好?好用的苹果备份软件推荐

苹果手机在将数据备份到电脑时,需要通过第三方的管理软件,才可以将手机连接到电脑进行备份。苹果手机备份软件有很多,常用的有:爱思助手、iMazing、iTuns等。那么这三款常用的备份软件究竟哪款更好呢?下面就给大家盘点…

Diffusion Mechanism in Residual Neural Network: Theory and Applications

残差神经网络中的扩散机制:理论与应用 作者:Tangjun Wang; Zehao Dou; Chenglong Bao; Zuoqiang Shi 源码链接:https://github.com/shwangtangjun/Diff-ResNet 摘要 扩散是一种在许多物理过程中出现的基本内部机制,描述了不同…

【服务器部署】Docker部署小程序

一、下载Docker 安装之前,一定查看是否安装docker,如果有,卸载老版本 我是虚拟机装的Centos7,linux 3.10 内核,docker官方说至少3.8以上,建议3.10以上(ubuntu下要linux内核3.8以上&#xff0c…

C++算法练习-day7——707.设计链表

题目来源:. - 力扣(LeetCode) 题目思路分析 在编程中,链表是一种常见的数据结构,用于存储一系列元素,但与数组不同,链表中的元素在内存中不必连续存储。每个元素(称为节点&#xf…

Linux权限管理

Linux权限管理是Linux系统中保证系统安全性和管理效率的重要手段。Linux权限主要涉及对文件和目录的操作权限,包括读(r)、写(w)和执行(x)三种基本权限。 一、Linux权限的基本概念 权限类型:Linux中的权限分为读(r)、写(w)和执行(x)三种。这些权限分别对应于文件…

【AIGC】优化长提示词Prompt:提升ChatGPT输出内容的准确性与实用性

博客主页: [小ᶻZ࿆] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯长提示词的挑战💯谷歌的优化长提示词技术关键因素分析 💯长提示词的设计原则💯优化长提示词的新框架方法💯实验结果分析不…