2024/2/4学习记录

微信小程序

网络数据请求

出于安全性方面的考虑,小程序官方对数据接口得请求做出了俩个限制

  • 只能对 https 类型的接口
  • 必须将接口的域名添加到信任列表中

需要去这里设置

  • 域名只支持 https 协议
  • 域名不能使用 ip 地址 或者localhost
  • 域名必须经过 ICP 备案

服务器域名一个月内最多可申请5次修改

发请求

调用微信小程序提供的 wx.request() 方法,可以发起 get 请求

因为目前没有可用的域名,所有我就只是 随便写了一个。

如果需要发送post请求,修改method就好了

在页面刚加载时请求数据

通过调用 onload 事件

如果后端仅仅提供了 http 协议的接口,暂时没有提供 https 协议的接口

此时我们可以 开启 开发环境不校验请求域名,TLS 版本及 HTTP5 证书 选项,跳过 request 合法域名的校验

跨越问题

跨域问题 只存在基于浏览器的web开发中,由于小程序的宿主环境不是浏览器,而是微信客户端,所以小程序不存在跨越问题

小程序里面是没有 axios 请求的,只是叫做基于网络请求

导航到 tabBar

调用 wx.switchTab(Object object) 方法,可以跳转到 tabBar 页面,其中Obejct参数对象的属性列表如下:

导航到 非 tabBar 页面

调用 wx.navigateTo(Object object) 方法,可以跳转到 非 tabBar 的页面,其中 Object 参数对象 的属性列表如下:

后退导航

调用 wx.navigateBack(Object object) 方法,可以返回到 上一页面或多级页面,其中 Object 参数对象 可选的属性列表如下:

导航传参

声明式导航传参

navigator 组件的 url 属性用来指定将要跳转到的页面的路径,同时,路径后面还可以携带参数,参数的用法和 web 参数传递是一样的

编程式导航传参

调用 wx.navigateTo(Object object) 方法跳转界面时,也可以携带参数

如若想得到这些参数,是可以在 onload 事件的 option 里面找到参数的值

页面事件

下拉刷新

启用方式

  • 全局开启下拉刷新

在 app.json 的 window 节点中,将 enablePullDownRefresh 设置为 true

  • 局部开启下拉刷新

在页面的 json 文件中设置 enablePullDownRefresh 设置为 true

监听页面的 下拉刷新事件

在页面的 .js 文件中,通过 onPullDownRefresh() 函数即可监听当前页面的下拉刷新事件

停止 下拉刷新的效果

当处理完下拉刷新后,下拉刷新的 loading 效果 会一直显示,不会主动消失,所以需要手动去关闭,调用 wx.stopPullDownRefresh() 可以停止当前页面的下拉刷新。

上拉触底

在页面的 .js 文件中,通过 onReachButton() 函数即可监听当前页面上的上拉触底

自定义编译模式

生命周期

是指一个对象从 创建 -> 运行 -> 销毁 的整个阶段,强调的是一个时间段。

小程序生命周期的分类

在小程序中,生命周期分为俩类,分别是

  • 应用生命周期

特指小程序从 启动 -> 运行 -> 销毁的过程

在 app.js 中:

  • onLaunch:function(options){}

小程序完成初始化时,执行此函数,全局只能触发一次

  • onShow:function(options){} 

小程序启动,或者从后台进入前台显示时触发

  • onHide:function(){}

小程序从前台进入后台时触发

  • 页面生命周期

特指 小程序中,每个页面 的加载 -> 渲染 -> 销毁的过程

  •  onLoad:function(options){}

监听页面加载,一个页面只调用一次

  • onShow:function(){} 

监听页面显示

  • onReady:function(){}

监听页面初次渲染完成,一个界面只调用一次

  • onHide:function(){}

监听页面隐藏

  • onUnload:function(){}

监听页面卸载,一个界面只调用一次

wxs 脚本

是小程序独有的一套脚本语言,结合为wxml,可以构建出页面的结构

wxs 和 JavaScript 的关系

虽然wxs的语法类似于JavaScript ,但是wxs和JavaScript是完全不同的俩种语言

  • wxs 有自己的数据类型

number  string boolean  object  function  array  date  regrexp

  • wxs 不支持 类似于 es6 以上的语法形式

不支持 let const 解构赋值 展开运算符 箭头函数 对象属性 等等

支持 var 定义变量 普通 function 函数类似于 ES5 的语法

  • wxs 遵循 CommonJS 规范

module 对象  require 函数  module.exports 对象

内嵌 wxs 脚本

wxs 代码可以编写在 wxml 文件中的 <wxs> 标签内,就像 JavaScript 代码可以编写在 html 文件中的<script> 标签内一样

wxml 文件中的每个 <wxs></wxs> 标签,必须提供 module 属性,用来指定 当前 wxs 的模块 名称,方便在 wxml 中访问模块 中的成员

定义外联的 wxs 脚本 

wxs 代码还可以编写在 以 .wxs 为后缀名的文件内,就像 JavaScript 代码可以编写在 .js 为后缀名的文件中一样。

在 wxml 中引入 外联的 wxs 脚本时,必须为 <wxs> 标签添加 module 和 src 属性,其中:

  • module 用来指定模块的名称
  • src用来指定要引入的脚本的路径,且必须是相对路径

wxs 具有隔离性  不能调用 js 中定义的函数  wxs 不能调用小程序提供的 API

创建组件

在项目的根目录中,创建 components -> test 文件夹,然后在此基础上点击 新建 Component ,输入组件的名称之后回车,会自动生成 组件对应的 4个 文件,后缀名分别为 .js  .json  .wxml  .wxss

引用组件

引用方式分为 全局引用 和 局部引用

局部引用

在页面的  .json  配置文件中引用组件的方式,叫做 “局部引用”

然后就可以以标签的形式来使用这个组件

全局组件就是在 app.json 里面这样写,就能都使用上了。

组件和页面的区别

从表面上看,他们没什么区别,但是组件 和 页面的 js 文件于 json 文件有明显的不同

  • 组件的 .json 文件中需要声明 "component":true 属性
  • 组件的 js 文件中调用的是 Component() 函数
  • 组件的事件处理函数需要定义到 methods 节点中

组件样式是隔离的,不会相互影响,全局样式对 组件是无效的,只有 class 选择器会有样式隔离效果,id选择器 属性选择器 标签选择器 不受样式隔离的影响

默认情况下,自定义组件的样式隔离特性 能够 防止组件内外 样式互相干扰的问题,但是有时候,我们希望他们 能够控制 组件内部的样式,此时 可以通过 stylesolation 修改组件的样式隔离选项

styleIsolation 的可选值

properties 属性

在小程序组件中,properties 属性是组件的对外属性,用来接收外界传递到组件中的数据:

该说不说,好像 vue 的 props 写法

data 和 properties 数据用法相同 都是可读可写的,vue的props是只读的。它俩是可以互相访问的,貌似地址是一样的。可以使用 setData 来修改 properties的值

数据监听器

observers  用于监听和响应任何属性和数据字段的变化,从而执行特定的操作,类似于 vue 的watch 监听器。

基本语法:

如果要监听对象的某个属性,那么在前面就要写 对象.属性,function 里面写属性的新值

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】基础语法:深浅拷贝

前言 在学习拷贝构造函数的时候遇到了深浅拷贝这个知识点 就写篇文章记录一下 &#xff08;引用的部分不用太在意 是查的 &#xff08;需要前提知识&#xff1a;知道默认拷贝构造函数是什么 知道默认拷贝构造函数和构造函数的关系、知道析构函数的写法和用处 浅拷贝 浅拷贝&…

周报(20240204)

日期&#xff1a;2024.1.29 - 2024.2.4 本周工作&#xff1a; 1. 阅读论文 本周主要对这篇文献进行了阅读&#xff1a; 《用可学习的跳跃连接缩小U-Net中的语义差距&#xff1a;以医学图像分割为例》 背景 医学图像分割和随后对目标对象的定量评估为疾病诊断和治疗规划提…

在Vue中如何动态绑定class和style属性

在Vue中&#xff0c;动态绑定class和style属性是我们经常遇到的需求。这个功能允许我们根据不同的条件来动态改变元素的样式&#xff0c;让我们的应用更加灵活和富有交互性。在本篇博客文章中&#xff0c;我将带你深入探索在Vue中如何实现这一功能。 首先&#xff0c;让我们了…

c++中使用ifstream对文件按照行间隔或者符号间隔来读取

简单的文本存取与读取在的程序中是比较常见的&#xff0c;一般为了读取的时候便于区分数据&#xff0c;我们常常会用空格或者空行来隔开数据字段&#xff0c;所以对于读取文件的操作我们肯定会有些具体的需求比如按照行读取或者按照词来读取&#xff08;或者说是以空格来间隔数…

函数调用栈是什么

今天在力扣leetbook上看《图解算法数据结构》中的空间复杂度这一小节&#xff0c;看到如下这句话&#xff1a; “程序调用函数是基于栈实现的&#xff0c;函数在调用期间&#xff0c;占用常量大小的栈帧空间&#xff0c;直至返回后释放。” 这句话的意思是&#xff0c;在程序中…

SQL必知必会笔记(13~16章)

第十三章 创建高级联结 1、别名&#xff1a;缩短SQL语句&#xff0c;允许在一条Select语句中多次使用相同的表 SELECT A.Name, A.Maths, A.English FROM transcript AS A INNER JOIN student_id As B ON A.Name B.Name; 2、Oracle数据库中没有AS关键字&#xff0c;直接在表名或…

【计算机学院寒假社会实践】——服务走进社区,共绘幸福蓝图

为深入贯彻落实志愿者服务精神&#xff0c;扎实推进志愿者服务质量&#xff0c;2024年1月28日&#xff0c;曲阜师范大学计算机学院“青年扎根基层&#xff0c;服务走进社区”社会实践队队员周兴睿在孙宇老师的指导下&#xff0c;来到山东省滨州市陈集街道社区开展了为期一天的“…

Unity_ShaderGraph节点问题

Unity_ShaderGraph节点问题 Unity版本&#xff1a;Unity2023.1.19 为什么在Unity2023.1.19的Shader Graph中找不见PBR Master节点&#xff1f; 以下这个PBR Maste从何而来&#xff1f;

MQ,RabbitMQ,SpringAMQP的原理与实操

MQ 同步通信 异步通信 事件驱动优势&#xff1a; 服务解耦 性能提升&#xff0c;吞吐量提高 服务没有强依赖&#xff0c;不担心级联失败问题 流量消峰 ​ 小结: 大多情况对时效性要求较高&#xff0c;所有大多数时间用同步。而如果不需要对方的结果&#xff0c;且吞吐…

Zookeeper相关面试准备问题

Zookeeper介绍 Zookeeper从设计模式角度来理解&#xff0c;是一个基于观察者模式设计的分布式服务管理框架&#xff0c;它负责存储和管理大家都关心的数据&#xff0c;然后接受观察者的注册&#xff0c;一旦这些数据的状态发生了变化&#xff0c;Zookeeper就负责通知已经在Zoo…

SpringAOP+SpringBoot事务管理

项目搭建SpringAOPSpringBoot中管理事务AOP案例实战-日志记录日志系统 一、项目搭建 第一步&#xff1a;构建项目 第二步&#xff1a;导入依赖 第三步&#xff1a;配置信息 自动配置&#xff08;项目自动生成的启动类&#xff09; /*** 启动类&#xff1a;申明当前类是一个…

模拟被观察物体的位置和方向

开发环境&#xff1a; Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example demo解决问题&#xff1a;模拟被观察物体的位置和方向&#xff0c;以帮助用户理解相机在观察特定对象时的位置和朝向。vtkCameraOrientationWidget 模拟的是被观察…

Redis核心技术与实战【学习笔记】 - 17.Redis 缓存异常:缓存雪崩、击穿、穿透

概述 Redis 的缓存异常问题&#xff0c;除了数据不一致问题外&#xff0c;还会面临其他三个问题&#xff0c;分别是缓存雪崩、缓存击穿、缓存穿透。这三个问题&#xff0c;一旦发生&#xff0c;会导致大量的请求积压到数据库。若并发量很大&#xff0c;就会导致数据库宕机或故…

九州金榜|如何做好家庭教育

孩子的家庭教育是每个家庭都要做的&#xff0c;也是每个家长面临的事情&#xff0c;同样不同的家庭教育教育出来的孩子性格也各不相同&#xff0c;有时候家长看别别人家的孩子品学兼优非常羡慕&#xff0c;很多家长会把问题归结到孩子身上&#xff0c;其实有没有想过是家庭教育…

C++之函数重载,默认参数,bool类型,inline函数,异常安全

函数重载 在实际开发中&#xff0c;有时候需要实现几个功能类似的函数&#xff0c;只是细节有所不同。如交换两个变量的值&#xff0c;但这两种变量可以有多种类型&#xff0c;short, int, float等。在C语言中&#xff0c;必须要设计出不同名的函数&#xff0c;其原型类似于&am…

【新书推荐】6.2节 段寄存器

在16位汇编语言的源程序中&#xff0c;我们将源程序按照不同的功能和作用划分为若干个逻辑段&#xff0c;如数据段用来存储数据&#xff0c;代码段用来存储代码&#xff0c;堆栈段用来保存临时数据&#xff0c;附加段用来拷贝数据。我们可以把汇编语言的源程序抽象地理解为数据…

TCP与UDP:传输层协议的差异与选择

在计算机网络中&#xff0c;传输控制协议&#xff08;TCP&#xff09;和用户数据报协议&#xff08;UDP&#xff09;是两种常用的传输层协议。然而&#xff0c;随着互联网的快速发展&#xff0c;传统的TCP和UDP在某些场景下存在一些限制。为了解决这些问题&#xff0c;出现了新…

如何使用VS Code编写小游戏并实现公网游玩本地游戏【内网穿透】

文章目录 前言1. 编写MENJA小游戏2. 安装cpolar内网穿透3. 配置MENJA小游戏公网访问地址4. 实现公网访问MENJA小游戏5. 固定MENJA小游戏公网地址 前言 本篇教程&#xff0c;我们将通过VS Code实现远程开发MENJA小游戏&#xff0c;并通过cpolar内网穿透发布到公网&#xff0c;分…

No matching client found for package name ‘com.unity3d.player‘

2024年2月5日更新 必须使用Unity方式接入Unity项目&#xff01;一句话解决所有问题。&#xff08;真的别玩Android方式&#xff09; 大致这问题出现原因是我在Unity采用了Android方式接入Firebase&#xff0c;而Android接入实际上和Unity接入方式有配置上的不一样&#xff0c;我…

爬虫工作量由小到大的思维转变---<第四十五章 Scrapyd 关于gerapy遇到问题>

前言: 本章主要是解决一些gerapy遇到的问题,会持续更新这篇! 正文: 问题1: 1400 - build.py - gerapy.server.core.build - 78 - build - error occurred (1, [E:\\项目文件名\\venv\\Scripts\\python.exe, setup.py, clean, -a, bdist_uberegg, -d, C:\\Users\\Administrat…