小程序-2(WXML数据模板+WXSS模板样式+网络数据请求)

目录

1.WXML数据模板

数据绑定

事件绑定

小程序中常用的事件

事件对象的属性列表

target和currentTarget的区别

bindtap的语法格式

在事件处理事件中为data中的数据赋值

事件传参与数据同步

事件传参

bindinput的语法绑定事件

文本框和data的数据同步

条件渲染

wx:if

结合使用wx:if

hidden

***wx:if和hidden的对比

列表渲染

wx:for

wx:key

2.WXSS模板样式

wxss和css的区别

rpx的实现原理

样式导入

全局样式和局部样式

全局配置

window

tabBar

配置tabBar选项

3.网络数据请求

小程序网络数据请求限制

配置request合法域名

发起GET请求和POST请求

在页面刚加载时请求数据

跳过request合法校验

跨域和Ajax的说明


1.WXML数据模板

数据绑定

数据绑定的规则:在js文件的data中定义数据,在WXML中使用数据

Mustache语法 即用双括号将数据包裹起来   <view>{{要绑定的数据名称}}</view>

Mustache语法主要用于绑定内容、绑定属性和运算(三元运算、算术运算)

进行三元运算时一定要注意书写的格式 randomNum1:Math.random() * 10 中间的空格是不能省略的,这里表示生成的是10以内的随机数

进行算术运算也要注意格式,randomNum2:Math.random().tofixed(2) 表示生成一个带有两位小数的随机数,前面内容写在data中,进行运算时写在WXML中,直接在双括号中进行运算

事件绑定

小程序中常用的事件

tap  bindtap或bind:tap       手指触摸后马上离开,类似于click点击事件          

input    bindinput或bind:input           文本框的输入事件

change     bindchange或bind:change      状态改变时触发

事件对象的属性列表

event.type              获得event的事件类型

event.target            触发事件的组件的一些属性值集合

event.detail             额外的信息

target和currentTarget的区别

target是触发该事件的源头组件(本人),而currentTarget则是当前事件所绑定的组件(父亲)

例如:在view中放置button,点击按钮时,点击事件以冒泡的方式向外扩散,也会触发view的tap事件处理函数,对于外层组件view来说e.target是内部的按钮组件,而e.currentTarget是当前的view组件

bindtap的语法格式

在事件处理事件中为data中的数据赋值

通过调用this.setData({})方法来给数据重新赋值,数据的初赋值要写在data{}中

事件传参与数据同步

事件传参

再给事件命名时,不能直接在名字后面加上属性值,可以再添加一个data-*组件和Mustache组合来传参,其中*指的是参数的名字(起一个名字),Mustache的双花括号中放参数

在js文件中,通过event.target.dataset.参数名来获得参数,注意这里的方法与之前调用的方法是不同的,大的方法是this.setData({}),这个小的是dataset

bindinput的语法绑定事件

在js文件中通过event.detail.value来获取文本框最新的值

效果就是每输入一个值,显示框会把当前文本框的全部内容输出一次

文本框和data的数据同步

可以先给input设置一个value值(文本框的名字)放在Mustache中,在js文件中先在data中给msg初始赋值,之后在函数中使用this.setData方法,调用event.detail.value即可显示当前文本框的全部内容,包括初始赋值和在文本框中直接输入的内容,

可以在wxss中对文本框的样式进行设置

wxml

js

wxss

条件渲染

wx:if

使用wx:if="{{condition}}"来判断是否渲染该代码块,也可以用wx:elif和wx:else来判断,注意书写格式

在下面的案例中,要提前把type的值写在data中,再在wxml中写view时进行判断

结合<block>使用wx:if

使用<block>包裹,可以避免不必要的渲染,提高渲染性

为true时显示元素,为false时隐藏元素

hidden

可以在data中写一个flag,让后在view标签中使用hidden结合Mustache,将flag放进去,条件为true时隐藏,false时显示

***wx:if和hidden的对比

列表渲染

wx:for

该方法可将指定的数组循环渲染,在data中创建一个数组如:array:['苹果','橙子','西瓜'],之后再wxml中写一个view,中间的渲染写法是 索引是:{{index}} 当前项是:{{item}}

wx:key

使用wx:key,即可以根据列表中的某个值去查找对应的想要值,比如可以根据id去输出对应的name值

注意列表的写法,以及key的代码 <view wx:for="{{userList}}" wx:key="id">{{item.name}}</view>

2.WXSS模板样式

wxss和css的区别

rpx的实现原理

将所有的设备屏幕,在宽度上等分为750份,即当前屏幕的总宽度是750rpx

样式导入

可以创建一个新文件夹,在其中创建一个公共的wxss文件,一些公有的属性样式可以写在里面,想用的时候在当前的wxss文件中import一下,如@import"common/common.wxss"

全局样式和局部样式

全局样式是写在app.wxss中的,局部样式写在页面中的.wxss文件中

当二者冲突时,局部样式会覆盖全局样式;当局部样式的权重大于或等于全局样式的权重时,才会覆盖全局的样式

全局配置

window

导航栏背景颜色一般不是文本颜色,以#开头;导航栏标题颜色,黑色或者白色

enablePullDownRefresh  是布尔类型值,表示是否下拉表单,为true

backgroundColor  是下拉表单后,上面的一部分窗口的背景色

backgroundTextStyle   是下拉表单后,上面的一部窗口中会有加载的小圆点,小圆点的颜色只能是dark或者light

onReachBottomDistance  是上拉触底距离,当滚动条距离底部50px时就加载新的数据,在书写的过程中,一般默认是50,后面不需要加单位,一般不建议修改这个值

tabBar

tabBar分为底部和顶部

tabBar中最少2个、最多5个tab标签;当渲染顶部tabBar时,不显示icon图标,只显示文本

同样是在app.json中配置的tabBar,每个tab中必须包含list,而list中又必须包含pagePath和text两个属性

配置tabBar选项

必须要把tabBar的页面放在最前面,否则加载不出来

3.网络数据请求

小程序网络数据请求限制

只能请求HTTPS类型的接口,必须将接口的域名添加到信任列表中

配置request合法域名

发起GET请求和POST请求

调用微信小程序的wx.request()方法,网址、请求方式、发送数据、回调函数

在页面刚加载时请求数据

跳过request合法校验

跨域和Ajax的说明

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

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

相关文章

Spring Data Redis + Redis数据缓存学习笔记

文章目录 1 Redis 入门1.1 简介1.2 Redis服务启动与停止&#xff08;Windows&#xff09;1.2.1 服务启动命令1.2.2 客户端连接命令1.2.3 修改Redis配置文件1.2.4 Redis客户端图形工具 2. Redis数据类型2.1 五种常用数据类型介绍 3. Redis常用命令3.1 字符串操作命令3.2 哈希操作…

数据库的约束条件和用户管理

约束条件&#xff1a; 主键&#xff1a;主键约束 primary key 用于标识表中的主键列的值&#xff0c;而且这个值是全表当中唯一的&#xff0c;而且只不能为null 一个表只能有一个主键。 外键&#xff1a;用来建立表与表之间的关系。确保外键中的值于另一个表的主键值匹配&a…

golang AST语法树解析

1. 源码示例 package mainimport ("context" )// Foo 结构体 type Foo struct {i int }// Bar 接口 type Bar interface {Do(ctx context.Context) error }// main方法 func main() {a : 1 }2. Golang中的AST golang官方提供的几个包&#xff0c;可以帮助我们进行A…

集线器、交换机、路由器的区别,冲突域、广播域

冲突域 定义&#xff1a;同一时间内只能有一台设备发送信息的范围。 分层&#xff1a;基于OSI模型的第一层物理层。 广播域 定义&#xff1a;如果某个站点发出一个广播信号&#xff0c;所有能接受到这个信号的设备的范围称为一个广播域。 分层&#xff1a;基于OSI模型的第二…

为ppt中的文字配色

文字的颜色来源于ppt不可删去的图像的颜色 从各类搜索网站中搜索ppt如何配色&#xff0c;有如下几点&#xff1a; 1.可以使用对比色&#xff0c;表示强调。 2.可以使用近似色&#xff0c;使得和谐统一。 3.最好一张ppt中&#xff0c;使用的颜色不超过三种主要颜色。 但我想强调…

第二证券:电影暑期档持续升温 农机自动驾驶驶入快车道

农机自动驾驶打开驶入快车道 得益于农机补贴、土地流通、高标准农田制造等方针引导&#xff0c;叠加技术突围和用户降本增效的内生需求&#xff0c;我国正处于农业2.0向农业3.0的过渡阶段。其间农机自动驾驶系统是结束农业3.0&#xff08;即自动化&#xff09;的要害并迎来快速…

【瑞吉外卖 | day07】移动端菜品展示、购物车、下单

文章目录 瑞吉外卖 — day71. 导入用户地址簿相关功能代码1.1 需求分析1.2 数据模型1.3 代码开发 2. 菜品展示2.1 需求分析2.2 代码开发 3. 购物车3.1 需求分析3.2 数据模型3.3 代码开发 4. 下单4.1 需求分析4.2 数据模型4.3 代码开发 瑞吉外卖 — day7 移动端相关业务功能 —…

Java实验4

实验内容 考试题 要求在一个界面内至少显示5道选择题&#xff0c;每道题4个选项。题目从数据库读取。表结构自定义。 另有2个命令按钮&#xff0c;分别为“重新答题”&#xff08;全部选项及正确答题数清空&#xff09;和“提交”&#xff08;计算&#xff09;&#xff0c;在…

【芯片设计- RTL 数字逻辑设计入门 9.1 -- CRG模块】

请阅读【芯片设计 RTL 数字逻辑设计扫盲 】 转自&#xff1a;芯片设计基础 – CRG模块 文章目录 CRG模块CRG时钟系统CRG复位系统同步复位同步复位的优点同步复位的缺点 异步复位异步复位的优点异步复位的缺点 异步复位同步释放 CRG模块 CRG是芯片里的时钟和复位生成模块&#…

27.js实现鼠标拖拽

e.offsetX是鼠标距离准确事件源的左上角距离 e.clientX是鼠标距离浏览器可视窗口左上角的距离 e.pageX是鼠标距离文档左上角的距离 /* 当鼠标点击div时开始挪动&#xff0c;当鼠标抬起&#xff0c;div静止——事件源是div 当鼠标点击后,鼠标在移动——事件源…

Web开发:卡片翻转效果(HTML、CSS)

目录 一、实现效果 二、完整代码 三、实现过程 1、页面结构 2、初始样式 3、翻转效果 4、图片大小问题 一、实现效果 如下图所示&#xff0c;当鼠标移入某个盒子&#xff0c;就反转这个盒子&#xff0c;并显示其背面的内容——卡片翻转效果&#xff1b; 卡片翻转效果 二…

【STM32 IDE】使用STM32CubeIDE创建一个工程

关于IDE的下载安装和环境配置这里暂且不介绍&#xff0c;我们直接使用STM32F407ZGT6创建工程。 这里需要注意两点&#xff1a; 创建工程时&#xff0c;默认使用最新版本的固件包&#xff08;HAL库&#xff09;&#xff0c;好像还不让更改。如果本地电脑位置没有该版本的包&…

webpack优化

优化方向 热更新 概念 /** hmr: hot module replacement 热模块替换 / 模块热更新作用&#xff1a; 一个模块发生改变&#xff0c;只会重新打包这一个模块&#xff08;而不是打包所有模块&#xff09;&#xff0c;极大的提升了构建速度样式文件&#xff1a; 可以使用hmr功能…

防火墙-NAT策略和智能选路

一、背景技术 在日常网络环境&#xff0c;内部网络想要访问外网无法直接进行通信&#xff0c;这时候就需要进行NAT地址转换&#xff0c;而在防火墙上配置NAT和路由器上有点小区别&#xff0c;思路基本一致&#xff0c;这次主要就以防火防火墙配置NAT策略为例&#xff0c;防火墙…

【学习css3】使用flex和grid实现等高元素布局

过往的实现方法是使用浮动加计算布局来实现&#xff0c;当flex和grid问世时&#xff0c;这一切将变得简单起来 一、简单的两列实现 1、先看页面效果 2、css代码 .container {padding: 10px;width: 100ch;margin: 0 auto;box-shadow: inset 0 0 0 2px #ccc;}.column {margin: 2…

git clone 报错 Unable to negotiate

Unable to negotiate with 192.168.110.10 port 39418: no matching cipher found. Their offer: aes128-cbc,3des-cbc,blowfish-cbc,aes192-cbc,aes256-cbc fatal: Could not read from remote repository. 查询支持哪些加密算法 ssh -Q cipher 修改文件 /etc/ssh/ssh_config…

AR0132AT 1/3 英寸 CMOS 数字图像传感器(AR0132AT6R、AR0132AT6C)适用于监控和高清视频等多种应用

AR0132AT 1/3 英寸 CMOS 数字图像传感器&#xff0c;带 1280H x 960V 有效像素阵列。它能在线性或高动态模式下捕捉图像&#xff0c;且带有卷帘快门读取。它包含了多种复杂的摄像功能&#xff0c;如自动曝光控制、开窗&#xff0c;以及视频和单帧模式。它适用于低光度和高动态范…

基于AT89C51单片机构造波形发生器设计(含文档、源码与proteus仿真,以及系统详细介绍)

本篇文章论述的是基于AT89C51单片机构造波形发生器设计的详情介绍&#xff0c;如果对您有帮助的话&#xff0c;还请关注一下哦&#xff0c;如果有资源方面的需要可以联系我。 目录 摘要 仿真图 总体结构框图 仿真程序效果图 原理图 代码 系统论文&#xff08;部分&…

Qcom平台通过Hexagon IDE 测试程序性能指导

Qcom平台通过Hexagon IDE 测试程序性能指导 1 安装Hexagon IDE工具2 测试工程2.1 打开Hexagon IDE2.2 新建工程2.3 添加测试案例2.3.1 方法一&#xff1a;新建2.3.2 方法二&#xff1a;拷贝 2.4 配置测试环境2.4.1 包含头文件2.4.2 添加程序优化功能(需先bulid一下)2.4.3 添加g…

【14】Github Copilot环境搭建

环境搭建 这里以Visual Studio Code为例&#xff0c;安装好vs code&#xff0c;打开扩展侧边菜单栏&#xff0c;搜索“Github Copilot”&#xff0c;会出现如下图的两个插件&#xff0c;点击安装第一个&#xff0c;另一个会附带一起安装&#xff0c;然后弹出提示重新启动vs co…