web学习笔记(七十九)

目录

1.全局共享数据的用法

2.小程序的本地持久化存储

3.小程序获取头像和用户昵称

4.如何实现进入页面就隐藏TabBar 


1.全局共享数据的用法

小程序中的全局数据再app.js文件中声明,app本来就是小程序给我们配置的全局文件,因此在app.js文件中声明的数据也都是全局数据,然后我们需要在页面中通过getApp来获取app实例,然后再拿数据。

定义全局数据:

// app.js
App({// 全局共享数据globaldata: {cartnum: 0,},
});

使用和修改全局数据: 

// 获取全局唯一的app实例对象
const app = getApp();
// index.js
Page({data: {num: 0,},
//获取全局数据,需要注意推荐再onShow生命周期中获取全局数据而不推荐再onLoad生命周期中获取数据,因为后者只会加载一次,而前者只要页面显示就会进行调用,可以确保页面的响应式onShow() {const num = app.globaldata.cartnum;console.log("--------", num);this.setData({num: num,});},
//修改全局数据的值add() {app.globaldata.cartnum += 1;console.log("=====", app.globaldata.cartnum);this.setData({num: app.globaldata.cartnum,});},
});

2.小程序的本地持久化存储

        在小程序中存储在本地缓存中的数据会一直存在,除非用户主动删除或因存储空间原因被系统清理,否则数据一直都可用。单个key允许存储的最大数据长度为1MB,所有数据存储上限为10MB。而且对存储数据的类型没有要求,可以存储数组、对象、字符串等类型。

(1)wx.setStorageSync(key, data): 同步将数据存储在本地缓存中。可以存储的数据大小不能超过 10MB。

wx.setStorageSync('userInfo', { name: 'John', age: 30 });

(2)wx.setStorage(options): 异步将数据存储在本地缓存中,支持大于 10MB 的数据存储。

wx.setStorage({key: 'userInfo',data: { name: 'John', age: 30 },success: function (res) {console.log(res);}
});

(3) wx.getStorageSync(key): 同步从本地缓存中获取指定 key 对应的内容。

let userInfo = wx.getStorageSync('userInfo');
console.log(userInfo);

(4) wx.getStorage(options): 异步从本地缓存中获取指定 key 对应的内容。

wx.getStorage({key: 'userInfo',success: function (res) {console.log(res.data);}
});

(5)wx.removeStorageSync(key): 同步移除本地缓存中指定 key 的数据。 

wx.removeStorageSync('userInfo');

(6)wx.removeStorage(options): 异步移除本地缓存中指定 key 的数据。

wx.removeStorage({key: 'userInfo',success: function (res) {console.log(res);}
});

(7)wx.clearStorageSync(): 同步清理本地数据缓存。

wx.clearStorageSync();

(8)wx.clearStorage(options): 异步清理本地数据缓存。

wx.clearStorage({success: function (res) {console.log(res);}
});

3.小程序获取头像和用户昵称

通过小程序提供的组件可以非常容易的获取到头像和用户昵称,通常我们会在登录时进行此操作,我们可以在点击事件中发送登录请求

wxml:

<view class="box"><!-- 获取用户头像和昵称 --><button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"><image class="avatar" src="{{avatarUrl}}"></image>
</button> 
<input type="nickname" class="weui-input" placeholder="请输入昵称"/>
</view>

js: 

const defaultAvatarUrl ="https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0";// 默认的灰色头像Page({data: {avatarUrl: defaultAvatarUrl,},onChooseAvatar(e) {const { avatarUrl } = e.detail;this.setData({avatarUrl,});// 如果和登录一块操作的话就可以在这个地方发送登录请求},
});

wxss: 

/* 简单设点样式 */
.box {margin-top: 100rpx;
}
.avatar {width: 200rpx;height: 200rpx;margin: 60rpx 0;
}
.weui-input {text-align: center;m

4.如何实现进入页面就隐藏TabBar 

我们可以在onLoad或者onShow生命周期内设置wx.hideTabBar();来实现进入页面隐藏TabBar 的效果。然后离开时在将TabBar显示出来。

//进入时隐藏TabBar
onLoad(){wx.hideTabBar();},
//离开时显示TabBar
onHide(){wx.showTabBar();}

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

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

相关文章

数据结构第12节 有向图

有向图&#xff08;Directed Graph 或 Digraph&#xff09;是一种图数据结构&#xff0c;其中的边具有方向性。这意味着在一个有向图中&#xff0c;边可以被视为箭头&#xff0c;箭头从一个顶点指向另一个顶点&#xff0c;表示从起点到终点的单向关系。有向图的这种特性使得它在…

搭建互联网医院实战:从源码到在线问诊APP的全流程开发

今天&#xff0c;笔者将讲述在线问诊APP的全流程开发&#xff0c;帮助开发者理解和掌握搭建互联网医院的核心技术和步骤。 一、需求分析与设计 需求分析包括明确目标用户、功能需求、性能需求等。设计阶段则包括系统架构设计、数据库设计和前后端界面设计等。 1.目标用户&…

最小权顶点覆盖问题-优先队列分支限界法-C++

问题描述: 给定一个赋权无向图 G(V,E)&#xff0c;每个顶点 v∈V 都有一个权值 w(v)。如果 U⊆V&#xff0c;U⊆V&#xff0c;且对任意(u,v)∈E 有 u∈U 或 v∈U&#xff0c;就称 U 为图 G 的一个顶点覆盖。G 的最小权顶点覆盖是指 G 中所含顶点权之和最小的顶点覆盖。对于给定…

提取重复数据

直接上控制台代码&#xff1a; Module Module1Sub Main()Console.WriteLine("请输入数据&#xff0c;以""&#xff0c;""相隔&#xff1a;")Dim str As String Console.ReadLineDim result From x In str.Split(",")Group By x Int…

NTP协议格式解析

1. NTP时间戳格式 SNTP使用在RFC 1305 及其以前的版本所描述标准NTP时间戳的格式。与因特网标准标准一致&#xff0c; NTP 数据被指定为整数或定点小数&#xff0c;位以big-endian风格从左边0位或者高位计数。除非不这样指定&#xff0c;全部数量都将设成unsigned的类型&#…

用python做DDL的静态分析

最近在用python做DDL SQL的分析&#xff0c;用的是simple_ddl_parser1.5.1。遇到了一些问题&#xff0c;记录一下。 simple_ddl_parser能解析多种数据库的DDL语句&#xff0c;我要处理的是mysql的DDL&#xff0c;发现有些mysql的写法还是不支持&#xff1a; 在表层面不支持使用…

Android Graphics 显示系统 - 监测、计算FPS的工具及设计分析

“ 在Android图像显示相关的开发、调试、测试过程中&#xff0c;如何能有效地评估画面的流畅度及监测、计算图层渲染显示的实时FPS呢&#xff1f;本篇文章将会提供一种实用、灵巧的思路。” 01 设计初衷 面对开发测试中遇到的卡顿掉帧问题&#xff0c;如何在复现卡顿的过程中持…

大模型AIGC转行记录(一)

自从22年11月chat gpt上线以来&#xff0c;这一轮的技术浪潮便变得不可收拾。我记得那年9月份先是在技术圈内讨论&#xff0c;然后迅速地&#xff0c;全社会在讨论&#xff0c;各个科技巨头、金融机构、政府部门快速跟进。 软件开发行业过去与现状 我19年决定转码的时候&…

代码随想录算法训练营第四十五天| 300.最长递增子序列、 674. 最长连续递增序列、 718. 最长重复子数组

300.最长递增子序列 题目链接&#xff1a;300.最长递增子序列 文档讲解&#xff1a;代码随想录 状态&#xff1a;不会&#xff0c;递推状态的时候只想着如何从dp[i-1]推导dp[i]&#xff0c;没想过可能需要枚举dp[0-i] 思路&#xff1a; 找出所有比自己小的数字的dp[j],在这些dp…

【K8s】【问题排查】k8s只能本地服务器访问服务,其他节点无法访问服务

出现原因&#xff1a; 问题描述&#xff1a;k8s部署服务之后&#xff0c;只能在Pod所在的节点通过node ip 对外暴露的端口请求&#xff1b;无法使用CLUSTER-IP端口访问。也不能在其他Node节点通过Pod所在的节点通过node ip 对外暴露的端口请求&#xff1b; 主机名与IP对应情况&…

随着人工智能与机器学习的广泛应用,Java 如何有效地与深度学习框架进行集成,以实现更智能的应用开发?

Java作为一种广泛使用的编程语言&#xff0c;在人工智能和机器学习领域也有着一定的应用。Java可以通过与深度学习框架的集成来实现更智能的应用开发&#xff0c;以下是一些方法&#xff1a; 使用Java的深度学习框架&#xff1a;Java有一些针对深度学习的框架&#xff0c;如DL4…

SpringBoot 实现视频分段播放(通过进度条来加载视频)

需求&#xff1a;现在我本地电脑中有一个文件夹&#xff0c;文件夹中都是视频&#xff0c;需要实现视频播放的功能。 问题&#xff1a;如果通过类似 SpringBoot static 文件夹的方式来实现&#xff0c;客户端要下载好完整的视频之后才可以播放&#xff0c;并且服务端也会占用大…

秋招突击——7/5——设计模式知识点补充——适配器模式、代理模式和装饰器模式

文章目录 引言正文适配器模式学习篮球翻译适配器 面试题 代理模式学习面试题 装饰器模式学习装饰模式总结 面试题 总结 引言 为了一雪前耻&#xff0c;之前腾讯面试的极其差&#xff0c;设计模式一点都不会&#xff0c;这里找了一点设计模式的面试题&#xff0c;就针对几个常考…

计算机图形学入门24:材质与外观

1.前言 想要得到一个漂亮准确的场景渲染效果&#xff0c;不只需要物理正确的全局照明算法&#xff0c;也要了解现实中各种物体的表面外观和在图形学中的模拟方式。而物体的外观和材质其实就是同一个意思&#xff0c;不同的材质在光照下就会表现出不同的外观&#xff0c;所以外观…

代理模式的实现

1. 引言 1.1 背景 代理模式&#xff08;Proxy Pattern&#xff09;是一种常用的设计模式&#xff0c;它允许通过一个代理对象来控制对另一个对象的访问。在面向对象编程的框架中&#xff0c;代理模式被广泛应用&#xff0c;尤其在Spring框架的AOP&#xff08;面向切面编程&am…

C++中的设计模式

要搞清楚设计模式&#xff0c;首先得要了解UML中的类的一些关系模型。 一.UML图中与类的层次关系 UML关系&#xff1a;继承关系&#xff08;泛化关系&#xff09;&#xff1b;组合关系&#xff1b;聚合关系&#xff1b;关联关系&#xff1b;依赖关系&#xff1b; 以上关系强度…

vue中实现button按钮的重复点击指令

// 注册一个全局自定义指令 v-debounce Vue.directive(debounce, {// 当被绑定的元素插入到 DOM 中时...inserted: function (el, binding) {let timer;el.addEventListener(click, () > {clearTimeout(timer);timer setTimeout(() > {binding.value(); // 调用传给指令…

IO、零拷贝、多路复用、connection、池化

目录 一、IO 模型 二、什么是网络IO 三、什么是零拷贝 四、多路复用 五、java程序、mysql JDBC connection关系 六、connection怎么操作事务 七 、java里面的池化技术 八、线程池7个核心参数 九、线程的状态 一、IO 模型 BIO &#xff1a;同步阻塞io&#xff0c;单线程 内存上下…

Springboot学习之用EasyExcel4导入导出数据(基于MyBatisPlus)

一、POM依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><m…

AI Earth应用—— 在线使用sentinel数据VV和VH波段进行水体提取分析(昆明抚仙湖、滇池为例)

AI Earth 本文的主要目的就是对水体进行提取,这里,具体的操作步骤很简单基本上是通过,首页的数据检索,选择需要研究的区域,然后选择工具箱种的水体提取分析即可,剩下的就交给阿里云去处理,结果如下: 这是我所选取的一景影像: 详情 卫星: Sentinel-1 级别: 1 …