关于vue2+uniapp+uview+vuex 私募基金项目小程序总结

news2024/12/23 23:57:46

1.关于权限不同tabbar处理

uniapp 实现不同用户展示不同的tabbar(底部导航栏)_uniapp tabbar-CSDN博客

但是里面还有两个问题 一个是role应该被本地存储并且初始化  第二个问题是假设我有3个角色 每个角色每个tabbar不一样的,点击tabbar时候会导致错乱 第三个问题 需要监听角色变化

问题处理: 在vuex的时候为role初始化

role: uni.getStorageSync('role') || null, // 从本地存储获取初始值

 第二个问题  让传送过来的值selectIndex==index 表示选中 

 第三个问题监听

<template>
	<view class="tab">
		<view v-for="(item,index) in list" :key="index" class="tab-item" @click="switchTab(item, index)">
			<image class="tab_img" :src="selectedIndex == index ? item.selectedIconPath : item.iconPath"></image>
			<view class="tab_text" :style="{color: selectedIndex == index ? selectedColor : color}">{{item.text}}</view>
		</view>
	</view>
</template>

<script>
	import {
		mapState
	} from 'vuex'
	export default {
		props: {
			selectedIndex: { // 当前选中的tab index
				default: 0
			},
		},
		data() {
			return {
				color: "#999",
				selectedColor: "#0D396A",
				list: [],
				currentIndex: 0,
			}
		},

		computed: {
			...mapState(['role']),

		},
		watch: {
			role(newRole) {
				this.updateListBasedOnRole(newRole); // 当 role 变化时调用这个方法
			}

		},
		created() {
			console.log('this.role', this.role);
			this.updateListBasedOnRole(this.role)

		},
		methods: {
			switchTab(item, index) {
				// console.log('index', index);
				// this.currentIndex = index;
				// console.log('this.currentIndex', this.currentIndex);
				let url = item.pagePath;
				// console.log('url', url);
				uni.switchTab({
					url: url
				})
			},
			updateListBasedOnRole(role) {

				// this.currentIndex = this.selectedIndex;



				if (role === 1) {
					//角色1
					this.list = [{
							pagePath: "/pages/tabBar/staging/index",
							iconPath: require("@/static/tabbar/manage.png"),
							selectedIconPath: require("@/static/tabbar/manageSelect.png"),
							text: "基金管理"
						}, {
							pagePath: "/pages/tabBar/warm/index",
							iconPath: require("static/tabbar/warm.png"),
							selectedIconPath: require("static/tabbar/warmSelect.png"),
							text: "预警管理"
						},
						{
							pagePath: "/pages/tabBar/user/index",
							iconPath: require("static/tabbar/my.png"),
							selectedIconPath: require("static/tabbar/mySelect.png"),
							text: "个人中心"
						}
					]
				} else if (role === 2) {
					//角色2
					this.list = [{
							pagePath: "/pages/tabBar/staging/index",
							iconPath: require("@/static/tabbar/manage.png"),
							selectedIconPath: require("@/static/tabbar/manageSelect.png"),
							text: "基金管理"
						},
						{
							pagePath: "/pages/tabBar/user/index",
							iconPath: require("static/tabbar/my.png"),
							selectedIconPath: require("static/tabbar/mySelect.png"),
							text: "个人中心"
						}
					]
				} else {
					this.list = [{
							pagePath: "/pages/tabBar/staging/index",
							iconPath: require("@/static/tabbar/manage.png"),
							selectedIconPath: require("@/static/tabbar/manageSelect.png"),
							text: "基金管理"
						}, {
							pagePath: "/pages/tabBar/dataAuditinng/index",
							iconPath: require("static/tabbar/data.png"),
							selectedIconPath: require("static/tabbar/dataSelect.png"),
							text: "数据审核"
						}, {
							pagePath: "/pages/tabBar/warm/index",
							iconPath: require("static/tabbar/warm.png"),
							selectedIconPath: require("static/tabbar/warmSelect.png"),
							text: "预警管理"
						},
						{
							pagePath: "/pages/tabBar/user/index",
							iconPath: require("static/tabbar/my.png"),
							selectedIconPath: require("static/tabbar/mySelect.png"),
							text: "个人中心"
						}
					]
				}
			}
		}
	}
</script>

<style lang="scss">
	.tab {
		width: 100%;
		height: 98rpx;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		height: 100rpx;
		background: white;
		@include flx(row, center, center) z-index: 1000;

		.tab-item {
			flex: 1;

			@include flx(column, center, center) .tab_img {
				width: 40rpx;
				height: 40rpx;
			}

			.tab_text {
				font-size: 24rpx;
			}
		}
	}
</style>

其他照常

2.关于uview 在浏览器和模拟器正常 样式在微信小程序崩溃

uniapp 开发H5打包微信小程序样式失效的解决之道_uniapp 样式丢失-CSDN博客

1.输入框崩溃

 我希望输入文字是白色的 调了很久 发现文档其实有 和element,antd有很大的不同 直接输入框加color="#fff"

<u--form labelPosition="left" :model="model" :rules="rules" ref="uForm" class="forms">
					<u-form-item prop="user">
						<u--input v-model="model.user" border="none" placeholder="请输入手机号" clearable
							class="u-input__content" color="#fff"></u--input>
					</u-form-item>
					<u-form-item prop="password">
						<u--input v-model="model.password" border="none" placeholder="请输入密码" password clearable
							class="u-input__content" color="#fff" ></u--input>
					</u-form-item>
				</u--form>
.u-input__content {
			height: 112rpx !important;
			background-color: rgba(0, 0, 0, .3) !important;
			padding: 0px 12rpx !important;
			border-radius: 10rpx !important;

		}

		/* #ifdef MP-WEIXIN */

		::v-deep .u-input__content {
			height: 112rpx !important;
			background-color: rgba(0, 0, 0, .3) !important;
			padding: 0px 12rpx !important;
			border-radius: 10rpx !important;
		}


	



		/* #endif */

 2.表头,按钮崩溃

/* #ifdef MP-WEIXIN */

	::v-deep .uni-table-th {
		background-color: #f0f0f0;

		color: #333;

		font-weight: bold;

	}



	::v-deep .u-button.data-v-2bf0e569 {
		width: 100%;
		width: 327rpx;
	}

	/* #endif */

3.关于条件编译

条件编译处理多端差异 | uni-app官网 (dcloud.net.cn)

4.关于uniapp生命周期

uniapp生命周期分成两种  一种是页面生命周期,一种是应用生命周期

页面生命周期

应用生命周期

应用生命周期和页面生命周期的区别主要体现在以下几个方面

uniapp生命周期钩子

uniapp页面也能使用生命周期钩子,但是组件只能使用生命周期钩子

5. uniapp组件生命周期--生命周期钩子

6.vue生命周期是什么?

生命周期--生命周期钩子

 7.UniApp 的生命周期钩子与 Vue 的生命周期钩子一样吗?

8.created,mounted 和onshow,onload,computed 谁快

在 UniApp 中,createdmounted 是组件的生命周期钩子,而 onLoadonShow 是页面的生命周期钩子。一般来说,created 在组件实例被创建时调用,mounted 在组件挂载后调用,通常都在页面加载前。onLoad 在页面加载时调用,而 onShow 在页面每次显示时调用。所以,createdmounted 通常比 onLoadonShow 更早执行。至于 computed,它们是计算属性,会在数据变化时更新,所以执行时机依赖于数据的变化。

created(会在组件实例化时立即执行)>computed(属性会在组件的创建和更新阶段自动重新计算)>onshow(只有在组件被显示时才会被调用)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2167751.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webpack使用

一、简介 概述 本次使用webpack4进行构建打包 二、webpack 安装webpack、webpack-cli npm install webpack4.2.0 webpack-cli4.2.0 -D 三、loader 加载器概述 raw-loader&#xff1a;加载文件原始内容&#xff08;utf-8&#xff09; file-loader&#xff1a;把文件输出…

【深度学习】(4)--卷积神经网络

文章目录 卷积神经网络一、画面不变性二、图像识别三、卷积网络结构1. 原理2. 卷积层3. 池化层4. 全连接层 四、感受野 总结 卷积神经网络 卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;简称CNN&#xff09;是一种深度学习模型&#xff0c;特别适用于处理…

探索 Snowflake 与 Databend 的云原生数仓技术与应用实践 | Data Infra NO.21 回顾

上周六&#xff0c;第二十一期「Data Infra 研究社」在线上与大家相见。活动邀请到了西门子数据分析师陈砚林与 Databend 联合创始人王吟&#xff0c;为我们带来了一场关于 Snowflake 和 Databend 的技术探索。Snowflake&#xff0c;这个市值曾超过 700 亿美元的云原生数据仓库…

20240926 关于Goland处理wsl-GOROOT原理猜测

GOROOT的原理 go sdk与java jdk类似&#xff0c;是go的编译工具链的集合。 在windows上&#xff0c;我们通过在系统环境变量中添加GOROOT并设置为go sdk地址&#xff0c;使得命令行可以访问到go sdk并执行go test、build等命令&#xff0c;这样设置的变量是全局生效的&#x…

zico2打靶记录

一、环境搭建 下载地址&#xff1a;https://download.vulnhub.com/zico/zico2.ova 直接双击下载的.ova文件即可在VMware中打开 设置好保存路径后在虚拟机的设置中删除仅主机这个网卡 然后启动靶机 二、信息收集 扫描靶机ip arp-scan -l 扫描一下开放的端口 nmap -p- -sV…

C++面向对象基础

目录 一.函数 1.内联函数 2.函数重载 3.哑元函数 二.类和对象 2.1 类的定义 2.2 创建对象 三. 封装&#xff08;重点&#xff09; 四. 构造函数 constructor&#xff08;重点&#xff09; 4.1 基础使用 4.2 构造初始化列表 4.3 构造函数的调用方式&#xff08;掌握…

如何守护变美神器安全?红外热像仪:放开那根美发棒让我来!

随着智能家电市场的迅速发展&#xff0c;制造商们越来越关注生产过程中效率和质量的提升。如何守护变美神器安全&#xff1f;红外热像仪&#xff1a;放开那根卷发棒让我来&#xff01; 美发棒生产遇到什么困境&#xff1f; 美发棒生产过程中会出现设备加热不均情况&#xff0c…

【pytorch】pytorch入门4:神经网络的卷积层

文章目录 前言一、定义概念 缩写二、性质三、代码总结参考文献 前言 使用 B站小土堆课程的笔记 一、定义概念 缩写 卷积层是神经网络中用于突出特征来进行分类任务的层。 二、性质 卷积核例子&#xff1a;vgg16 model 三、代码 添加库 python代码块import os import …

无线领夹麦克风哪个牌子好,2024年新款领夹麦克风推荐

在短视频和直播风靡的当下&#xff0c;音频质量成为了衡量内容品质的重要标尺。市面上琳琅满目的无线领夹麦克风产品&#xff0c;却让许多创作者陷入了选择困难中&#xff0c;高昂的价格、复杂的操作、以及参差不齐的音质表现&#xff0c;让不少人在追求专业音频的道路上交了“…

Excel中用位置筛选解法

有 2022 年 1 月的日销售额统计表如下所示&#xff1a; 筛选出偶数日的销售额&#xff1a; spl("E(?1).select(#%20)",A1:B32)#表示当前行号 免费课程、软件免费下载

智慧公厕:引领公共卫生新潮流@卓振思众

随着科技的不断进步&#xff0c;智慧公厕应运而生&#xff0c;为人们带来了全新的如厕体验。作为智慧公厕厂家&#xff0c;我们致力于打造更加舒适、便捷、环保的公共厕所。智慧公厕究竟有哪些神奇之处呢&#xff1f;让我们一起来揭开它的神秘面纱。【卓振思众】 一、环境监测&…

基于SpringBoot + Vue的轿车数字化管理系统

文章目录 前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S 四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论 五、项目代码参考六、数据库代码参考七、项目论文示例结语 前言 &#x1f49b;博主介绍&a…

餐厅包厢预订小程序

餐厅包间预订小程序的功能可以包括以下几个方面&#xff1a; 用户注册与登录&#xff1a; 用户可以通过手机号、微信等方式注册和登录。 包间展示&#xff1a; 提供各类包间的详细信息&#xff0c;包括图片、容纳人数、设施、装修风格等。 实时预订&#xff1a; 用户可以选择日…

QT开发:详解 Qt 多线程编程核心类 QThread:基本概念与使用方法

1. 引言 在现代应用程序开发中&#xff0c;多线程编程是一个关键技术&#xff0c;能够显著提高程序的效率和响应速度。Qt 是一个跨平台的 C 框架&#xff0c;其中 QThread 类是实现多线程编程的核心类。本文将深入详解 QThread 的基本概念、使用方法及其在实际应用中的重要性。…

软件测试标准流程(思维导图版)

一套标准的流程在实际工作落地并执行起来&#xff0c;针对管理可起到很好的作用。 针对效率可在工作中不断的执行&#xff0c;执行后不断的进行优化&#xff0c;再次执行&#xff0c;在不断的工作实践中慢慢完善最终适用于整个团队。 这就是标准流程的作用与实际的好处&#…

实景三维夯实数字乡村孪生底座

随着数字乡村建设的不断推进&#xff0c;实景三维技术在乡村规划、管理、服务等方面发挥着越来越重要的作用。本文将探讨实景三维技术如何夯实数字乡村的孪生底座&#xff0c;为乡村的可持续发展提供强有力的支撑。 一、数字乡村建设的背景 数字乡村建设是推动乡村全面振兴、…

神经网络(一):神经网络入门

文章目录 一、神经网络1.1神经元结构1.2单层神经网络&#xff1a;单层感知机1.3两层神经网络&#xff1a;多层感知机1.4多层神经网络 二、全连接神经网络2.1基本结构2.2激活函数、前向传播、反向传播、损失函数2.2.1激活函数的意义2.2.2前向传播2.2.3损失函数、反向传播2.2.4梯…

【掌桥科研-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

企业源代码一定要加密!10款超级好用的源代码加密软件推荐

在如今竞争激烈的商业环境中&#xff0c;源代码是企业的核心资产之一。对于软件开发公司、技术公司以及以技术驱动的企业来说&#xff0c;保护源代码不被盗窃、泄露或非法篡改至关重要。如果源代码泄露&#xff0c;不仅会对企业的市场竞争力造成巨大打击&#xff0c;还可能导致…

pycirclize python包画circos环形图

pycirclize python包画circos环形图 很多小伙伴都有画环形图的需求&#xff0c;网上也有很多画环形图的教程&#xff0c;讲解circos软件和circlize R包的比较多&#xff0c;本文介绍一款python包:pyCirclize。适合喜欢python且希望更灵活作图的小伙伴。 pyCirclize包实际上也…