分享好友 最新动态首页 最新动态分类 切换频道
1、微信小程序-环境搭建、基本语法
2024-12-27 05:38

1、微信小程序-环境搭建、基本语法


通过本章介绍小程序的安装,环境搭建以及项目目录。


简称⼩程序, 英⽂名 Mini Program , 是⼀种不需要下载安装即可使⽤的应⽤, 它实现了应⽤ “触⼿可及”的梦想, ⽤户扫 ⼀ 扫或搜⼀下即可打开应⽤,有以下优点

  1. 微信有海量⽤⼾, ⽽且粘性很⾼, 在微信⾥开发产品更容易触达⽤⼾
  2. 推⼴app 或公众号的成本太⾼。
  3. 开发适配成本低。
  4. 容易⼩规模试错, 然后快速迭代。
  5. 跨平台。

小程序的宿主环境:我们称微信客户端给小程序所提供的环境为宿主环境。小程序借助宿主环境提供的能力,可以完成许多普通网页无法完成的功能。小程序的运行环境分成渲染层和逻辑层,其中 WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层。

具体步骤参考
微信小程序开发文档:https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/getstart.html

新建项目选择小程序项目,选择代码存放的硬盘路径,填入刚刚申请到的小程序的 AppID,给你的项目起一个名字,勾选 “不使用云服务” (注意: 你要选择一个空的目录才可以创建项目,点击新建,你就得到了你的第一个小程序了,点击顶部菜单编译就可以在微信开发者工具中预览你的第一个小程序。

2.1 .json 配置文件

小程序全局配置app.json,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等

 

字段的含义

  1. pages 字段⽤于描述当前⼩程序所有⻚⾯路径, 这是为了让微信客⼾端知道当前你的⼩程序 ⻚⾯定义在哪个⽬录。
  2. window 字段定义⼩程序所有⻚⾯的顶部背景颜⾊, ⽂字颜⾊定义等。
  3. 完整的配置信息请参考app.json配置

工具配置 project.config.json,开发项目时的个性化配置,其中会包括编辑器的颜色、代码上传时自动压缩等等一系列选项。
页面配置 page.json,让开发者可以独立定义每个页面的一些属性,例如刚刚说的顶部颜色、是否允许下拉刷新等等。
sitemap .json ⽤于配置⼩程序及其⻚⾯是否允许被微信索引。

在介绍小程序基本语法之前,我们需要简单知道
从事过网页编程的人知道,网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互。其中 WXML 充当的就是类似 HTML 的角色。WXSS就是CSS。JS还是处理逻辑的。
而小程序的 WXML 用的标签是 view, button, text 等等,这些标签就是小程序给开发者包装好的基本能力,我们还提供了地图、视频、音频等等组件能力。
小程序使用的框架叫做MINA,框架构建的思路:采用MVVM 的开发模式(例如 React, Vue,提倡把渲染和逻辑分离。简单来说就是不要再让 JS 直接操控 DOM,JS 只需要管理状态即可,然后再通过一种模板语法来描述状态和界面结构的关系即可。

2.1 模板语法(代码见demo01

WXML(WeiXin Markup Language)是框架设计的⼀套标签语⾔,结合基础组件、事件系统,可以构建出⻚⾯的结构。
1、数据绑定
写法

 
 

2、组件属性

 
 
 

3、 boolean
不要直接写checked=“false”,其计算结果是个字符串

 

4、运算
三元运算

 

算术运算

 

字符串运算

 
 

:花括号和引号之间如果有空格, 将最终被解析成为字符串

5、列表渲染
项的变量名默认为 item wx :for-item 可以指定数组当前元素的变量名
下标变量名默认为 index wx :for-index 可以指定数组当前下标的变量名
wx :key ⽤来提⾼数组渲染的性能,wx :key 绑定的值 有如下选择
1) string 类型, 表⽰ 循环项中的唯⼀ 属性

 

2)保留字 *this , 它的意思是 item 本⾝ , *this 代表的必须是 唯⼀ 的字符串和数组。
完整使用代码如下

 

完整使用代码如下

 
 

6、 block
渲染⼀个包含多节点的结构块 block最终不会变成真正的dom元素.

 
 

浏览器首先将收到的html代码,通过html解析器解析构建为一颗DOM树。DOM树就像是一颗倒长着的大树,这样的对象模型决定了节点之间都有一定的关联它们关系可能有父子、有兄弟,我们可以顺着这颗树做出许多操作。接着将接收到的css代码,通过css解析器构建出样式表规则将这些规则分别放到对应的DOM树节点上,得到一颗带有样式属性的DOM树。

浏览器按从上到下,从左到右的顺序,读取DOM树的文档节点,顺序存放到一条虚拟的传送带上。传送带上的盒子就是节点,而这条流动的传送带就是文档流。文档流排完之后,开始获取计算节点的坐标和大小等CSS属性,然后把节点一一摆放,这就将节点布局到了页面。

布局完成之后,我们在页面上其实是看不到任何内容的浏览器只是计算出了每一个节点对象应该被放到页面的哪个位置上,但并没有可视化。因此最后一步就是将所有内容绘制出来,完成整个页面的渲染。

7、条件渲染
Wx:if
在框架中,使⽤ wx :if="{{condition}}"来判断是否需要渲染该代码块

 

Hidden

 

:类似 wx :if,若频繁切换建议使⽤hidden

8、事件绑定 (代码见demo02)
⼩程序中绑定事件, 通过bind关键字来实现。 如 bindtap bindinput bindchange 等不同的组件⽀持不同的事件, 具体看组件的说明即可。
举例使用
在wxml里添加以下代码,给input这个标签绑定一个handleInput的事件

 

在js文件中定义这个事件

 

需注意的是:绑定事件时不能带参数 不能带括号 ,以下是不正确的使用

 

正确的事件传值方式,应该是, 通过标签⾃定义属性的⽅式 和 value

 

2.2.wxss 后缀的 WXSS 样式文件 (代码见demo03)

先来认识下css:
1、定义:CSS通常称为CSS样式或层叠样式表,主要用于设置HTML页面中的文本内容(字体、大小、 对其方式等)。使用HTML时,需要遵从一定的规范,CSS也是如此有一定规范

 

2、“选择器"用于指定CSS样式作用的HTML对象括号内是对该对象设 置的具体样式属性和属性值以键值对方式呈现,英文冒号”:“分隔多个属性之间使用英文 分号”;"。要注意的是
"选择器"严格区分大小写"属性"和"属性值”不区分大小写
3、样式使用
行内样式:是通过标签的style属性来设置元素的样式,行内样式通过标签的属性来控制样式,没有做到结构与表现(HTML结构、CSS显示 )分离(少使用)

 

内部样式:CSS代码集中卸载HTML文档的标签体中,并且使用

 

外部样式:外部样式又称为链入式,将所有的样式放在一个或多的外部样式表文件中,将所有的样式放在一个或多的外部样式表文件中

 

优先级:行内样式>内部样式(内嵌式)>外部样式

4、选择器的使用
1)默认样式:* 这个符号能匹配所有样式,所以如果没有额外定义就默认为这个样式,一般用于消除页面与浏览器的内外边距

 

2)标签选择器,示例为匹配所有span标签,并且设置其css样式

 

3)类选择器,示例为匹配所有class='bgcolor’的标签,设置样式,得注意样式前面有个英文状态下的点

 

4)id选择器,示例为匹配id='yun’的标签,并且设置其css样式,需要注意的是id的值在整个html页面必须是唯一的,即不同的标签里面不可以出现重复的id值

 

5) 多元素选择器,用逗号隔开,比如选择,id=yun 和 class=‘abc’ 的标签,应用样式

 

6) 后代选择器,用空格隔开

 

7) 子元素选择器,使用>符号

 

5、选择器的优先级
通配选择器、选择符和逻辑组合伪类的优先级都是 0。
标签选择器的优先级是 1。
类选择器、属性选择器和伪类的优先级是 2。
ID 选择器的优先级是 3。
style属性内联样式的优先级是 4。
!important优先级是最高的,也就是 5。

计算规则
每一段 CSS 语句的选择器都可以对应一个具体的数值,数值越大优先级越高,其中的 CSS 语句将被优先渲染。具体规则为
出现一个 0 级选择器,优先级数值+0
出现一个 1 级选择器,优先级数值+1
出现一个 2 级选择器,优先级数值+10
出现一个 3 级选择器,优先级数值+100。

  • 响应式⻓度单位 rpx

  • 样式导⼊

WXSS 在底层支持新的尺寸单位 rpx ,开发者可以免去换算的烦恼,只要交给小程序底层来换算即可,由于换算采用的浮点数运算,所以运算结果会和预期结果有一点点偏差。你可以写一个 app.wxss 作为全局样式,会作用于当前小程序的所有页面,局部页面样式 page.wxss 仅对当前页面生效。
1 、rpx (responsive pixel)的使用
可以根据屏幕宽度进⾏⾃适应。规定屏幕宽为 750rpx 。 如在iPhone6上,屏幕宽度为375px,共有750个物理像素, 则
750rpx = 375px = 750物理像素
1rpx = 0 .5px = 1物理像素 。

  1. 确定设计稿宽度 pageWidth
  2. 计算⽐例 750rpx = pageWidth px ,因此 1px=750rpx/pageWidth 。
  3. 在less⽂件中, 只要把设计稿中的 px => 750/pageWidth rpx 即可。

2、引入样式
1)内部样式

 

2)外联样式

 

:特别需要注意的是 ⼩程序 不⽀持通配符 * 因此以下代码⽆效

2.3 .js 后缀的 JS 脚本逻辑文件

最新文章
高考中等生一般多少分
今天立志愿小编整理了高考中等生一般多少分相关信息,希望在这方面能够更好的大家。1、高考中等生一般多少分2、高中未上完,重新参加学业水平考和高考,就报名问题方面求助3、高考难度不大对中等生有利吗?450-550左右。高考总分750分,一
百度爱采购-常见问题解决方法汇总
入驻百度爱采购常见问题解决汇总百度爱采购是百度旗下的B2B垂直搜索引擎,旨在帮助用户一站直达全网商品信息,触达海量优质商家。让买家快速便捷的找到优质货源,为商家提供海量匹配的询价信息,获得更多曝光,快速达成交易,降低成本提升
上海迪士尼乐园开园时间表?
上海迪士尼乐园开放时间上午 9:00 至 晚上 8:30上海迪士尼乐园巡游时间表米奇童话专列演出时间:下午 3:00演出地址:奇想花园表演时长:约14 分钟奇梦之光幻影秀演出时间:晚上 8:30演出地址:奇想花园冰雪奇缘-欢唱盛会演出时间:下午 2:0
连云港外贸网站建站,连云港外贸网站建站时间
大家好,今天小编关注到一个比较有意思的话题,就是关于连云港外贸网站建站的问题,于是小编就整理了6个相关介绍连云港外贸网站建站的解答,让我们一起看看吧。集团官方网站:http://www.lygcjjt.com连云港市城建控股集团有限公司成立于201
绍兴商务KTV排行榜:夜生活新地标[绍兴商务KTV订房指南]
发布时间:2024-12-13 05:14:01绍兴,这座古老而又充满活力的城市,以其独特的魅力吸引了无数游客和商务人士。这里不仅有深厚的文化底蕴,还有繁华的经济和活跃的夜生活。绍兴的商务KTV,以其高端的服务和设施,成为了夜生活的新地标。绍兴
杭州雅思2025寒假班辅导机构排行榜名单汇总公布
  杭州雅思2025寒假班辅导机构排行榜名单汇总公布,小编推荐新东方英语,新东方教育专注出国留学,提供雅思培训、托福培训、SAT/ACT/GRE/GMAT、小语种等出国留学语言培训,内容涵盖了公开讲座、机经练习、备考资讯 、实用好用APP下载等特
谁才是游戏界的超级巨星?揭秘2023年最炙手可热的游戏制作公司Top10
想知道今年的游戏市场哪家公司最能撩动玩家的心弦吗?快来一起探索这份2023年度游戏制作公司排行榜,它们不仅塑造了无数经典,还在不断创新中引领潮流!游戏迷们,让我们一起按下暂停键,揭开这场华丽的游戏公司竞技场的神秘面纱...以其史
SQL成绩统计分析—排名问题
ROW_NUMBER(),RANK(),DENSE_RANK(),NTILE()最近写了近半个月的成绩统计服务 , 被SQL折磨半死,下面介绍下在SQL成绩统计分析中遇到的一些小问题,首先介绍下成绩分析中经常遇到的问题 就是排名问题
郎溪县统计局领导团队全新亮相,未来工作展望与领导团队介绍
郎溪县统计局迎来最新领导团队,成员具备丰富的专业知识和实践经验。该团队致力于优化统计工作流程,提高数据质量,并积极参与社会经济统计分析。他们的工作展望包括加强数据监测和预警,深化统计服务,推动统计信息化建设,提高统计工作的
腾讯云AI代码助手商标申请中,数字化工具全面开放引关注
据企查查APP最新数据显示,腾讯科技(深圳)有限公司近期提交了一项名为“腾讯云AI代码助手”的商标注册申请,该商标被归类于科学仪器领域,目前正处于注册申请的流程之中。腾讯云AI代码助手是一款旨在提升编程效率的智能工具,其核心功能
相关文章
推荐文章
发表评论
0评