分享好友 最新动态首页 最新动态分类 切换频道
置顶微信小程序开发快速入门-第一个页面编写(2/5)精选热门
2024-12-27 09:56

我相信很多小伙伴看完上次的《微信小程序开发快速入门-小程序之开发前准备(1/5)》已经迫不及待想要开始编码了,今天就满足大家把代码给大家安排上!

置顶微信小程序开发快速入门-第一个页面编写(2/5)精选热门

今天主要分享的内容有以下 2 个点:

在这里我们会从官方提供的案例去阅读代码中的秘密,阅读完成之后我们再从零到一写一个小项目就叫码仔备忘录。在这个过程中我会从前端基础讲起,先从显示层然后再去做逻辑层,循序渐进带领大家做一个小程序。

我们先要分析最外层的目录结构以及文件:

  1. pages 下面都是有两个文件夹,这个下面代表两个页面一个是index一个是logs。
  2. utils文件夹是存在工具js文件,属于工具类。
  3. 然后下面有三个以app开头的文件,这三个属于全局文件。
  4. app.js:全局App实例,是全部页面共享的。其他页面可以通过getApp()获取该实例,通常会把全局的对象存放在这里面供所有页面调用,如:用户对象。
  5. app.json:包含全局配置,所有的页面都需要配置到这里面,还有小程序头部样式。这里注意pages数组的第一项代表小程序的首页。更多配置看可以查看:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html。
  6. app.wxss:全局样式,这里面的样式全部共享到所有页面,无需额外引用。
  7. project.config.json:这个是基于整个⼯具的配置,例如界⾯颜⾊、编译配置等等。不需要你在

配置⽂件⾥⾯修改,⽽是通过⼯具的功能操作后,⾃动在这⾥会⽣成配置。配置详细可见:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html

  1. project.private.config:私有化配置与 project.config.json 配置一样只是权限不一样。
  2. sitemap.json:小程序搜索配置,详细可见:https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html

通常在开发过程中我们只会关注 app.js,app.json,app.wxss 这三个文件。

外层了解完后,再继续深入了解:

每个页面都有四个文件。


为了让大家更好都理解,我用游戏LOL来举个例子:

到这里我们有提到页面配置和全局配置,这两个配置有一样的地方,但是很多不同到配置项,具体可见页面配置详情:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/page.html

在一个页面中,通常主要用到wxml、wxss、js。json文件大部分可以不用,直接删除不受任何影响。

小程序中的wxml,wxss,js 相当于网页开发中的html,css,js。

分析完目录结构后我们在来看看更具体的代码。

小程序运行机制最开始是从app.json配置项解析。

然后再来看看首页,在这里不看页面的逻辑处理,先看页面的展示结构布局,打开调试器的Wxml来分析以下。

这里面有三个元素,头像,名字,欢迎文案。结构是从上到下排列下来。

可以看到布局代码中有view、text,这些都是小程序组件。

组件都是以标签的形式成对出现。每个组件都有属性,如:class属性。

小程序组件列表:https://developers.weixin.qq.com/miniprogram/dev/component/

后续会结合案例来单独讲解常用的组件,大家可以大概了解下小程序的组件类型。

那么组件的颜色、大小、居中以及之间的距离都是属于样式。

我们可以看到这个Hello World文本距离上面有200px的距离,这种是属于样式信息,样式都是写在wxss里面的。

在这里说明下,小程序是自动引入当前文件夹同名的样式,网页开发则需要手动额外引入。

现在大家看到这里以及大概了解一些基本概念。接下来由于官方案对于初学者来说有些复杂,接下来我们来从零到一写一个简单的页面。

基于现在的项目我们删除一些无用的代码。大家把utils文件夹删除,logs文件夹删除,app.wxss样式删除,app.json文件只留下index路径,代码如下。

然后index文件夹下面的四个文件删除,再右键新增Page,这样就会直接新增好四个空的基础文件。然后我们得到的就是这样的一个页面。

清空掉一切无用代码后,接下里我们要开始搞个小程序项目了。最近听说码仔最近有个需求,我们去帮帮它!

需求分析

需求背景:由于码仔每天有做不完的事情,所以经常忘记一些事情。这样时候码仔需要一个备忘录用于记录自己的事情。

码仔需求:

项目界面:

布局编写

先从启动页面开始,布局分析:

一共是两个元素,一个是码仔图片,一个是按钮。

首先在项目中新建一个images文件夹存放码仔图片和按钮背景图与pages文件夹同级。

  1. 在新建的时候注意选择最外层的文件,如:app.js,因为只有这样建立的文件夹才会与pages同层级,否则如果选中pages那就是与在pages下一级文件夹了。

建立好images文件夹后右键打开文件夹,把下载好的素材图片改好名字放入文件。

准备好素材之后我们开始对页面做布局代码编写。

通常我们都会用view容器来包裹住所有组件。image组件就有个src属性用于放显示的图片路径。

具体可以查看image的文档,https://developers.weixin.qq.com/miniprogram/dev/component/image.html 有问题查文档,我们可以把文档当作字典来使用,用的时候就针对性查阅。

代码如下:



这里我们是用view组件包裹来一个image组件和view组件,那么这个时候有人就说为什么不用button组件?因为button组件用起来比较麻烦,button自带很多样式,布局起来比较麻烦。除非要用到button到特殊能力,否则通常情况下是不用button组件的,view组件可以通过css来完成按钮样式。

看下上面代码显示的样式,我们会发现图片有些变形。

这个是为什么呢?我们通过调试器Wxml定位看下。

小技巧:wxml用旁边的小鼠标可以点击元素快速定位布局。

我们可以看到图片组件有个默认样式宽度320px、高度240px。

接下来我们给这个图片来个样式。通常是根据图片的实际大小来设置宽度和高度。

这张图片是500x468,那么给它来一个样式。



知识点:样式选择器

从图片样式上来看,没有问题了。但是这里其实还包含个css知识点。上面用style属性来直接编写样式叫行内样式。这种虽然可以实现效果但是不够灵活,所以更好的写法实在wxss里面写。

代码如下:

index.wxss


index.wxml



这种是最常用的类选择器,还有一种类型选择器,写法如下:

index.wxss

index.wxml



能达到效果都一样,一个是类选择器主要是针对具体的组件引用样式,类型选择器就是这个页面所有这种类型的组件都会被应用这个样式。如果是在一个页面多个组件都是同样都样式就用类型选择器,如果是单个就用类选择器。


知识点:样式优先级

还有一种情况就是如果有多个页面都用同一个样式,那就把样式放在app.wxss里面这样可以所有页面都共享这个样式,这样可以减少重复代码编写。这个时候有人会说了,如果公共样式里面有都,我当前页面重复了会怎么样呢?就近原则,当前样式大于公共样式,无论是样式还是配置一样原则。

接下来我们回过头来再次选中图片来看看这个图片的样式。

知识点:rpx

看下文档对rpx解释:

rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。

在iPhone6上1px = 2rpx。拿上面那张图举例500x468,px就是250x234才能显示一样的大小。这个rpx是小程序独有的,可以用于适配各种屏幕做到等比例缩放,所以以后咱们就用rpx。

具体对比效果,你可以通过切换模拟器机型来体验px和rpx的效果。px为固定大小,rpx为自适应大小。

好了,到这里继续写下面的代码,写完图片样式之后,我们再来看看按钮。我们可以看到素材按钮其实也是一张图片,我们把原来的view组件改成image组件。这里需要注意的是这个时候需要把类型选择器改成类选择器,因为两个都是image图片样式也不是一样的,所以我们还是选择用类选择器的写法。

看效果,用上面同样的写法来完成

wxml

wxss


接下来还要写个改变下背景颜色,这个时候我们可以给page设置一个背景颜色。

在这里肯定你会有疑问,page这个组件好像没在布局里面写呀,它是哪里来的?这个就是小程序每个页面都会自己套一层page组件,可以通过调试器的Wxml看到page组件。通常我写背景颜色都用它,page文档里面也没有说明,有时候需要大家细心观察。

知识点:Flex布局

接下来还需要把这两张图片居中显示,这个时候就要用到css最常用的Flex布局了。我们可以把包裹这两张图片的view看成一个容器,然后控制容器的样式来改变容器内里面组件的布局样式。

看效果

wxml


wxss

这个flex布局方式非常常用,所以要重点学习。

Flex 布局教程:语法篇:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

然后再来看下与效果图的对比,按钮和上面logo图片距离相隔168像素,给btn样式加一个外边距的样式margin-top样式。


如果前端基础弱的同学可以外边距的教程:https://www.runoob.com/css/css-margin.html

添加完距离之后在看看效果。

最后就差头部这个标题栏部分了,之前就有提到如果是全局配置就找在app.json。来看看全局配置文档:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html

在配置里面有个window对象里面配置下navigationBarBackgroundColor属性配置成主色调。

看下效果

app.json


好了,我们第一个小程序静态页面大功告成。

最新文章
谈谈“推荐系统”和“搜索引擎”两者间的关系、和异同点
原标题:产品经理需要了解:推荐系统和搜索引擎的关系注:本文作者结合自己的实践经验来为大家阐述推荐系统和搜索引擎两者之间的关系、分享自己的体会。从信息获取的角度来看,搜索和推荐是用户获取信息的两种主要手段。无论在互联网上,还
阿亮网创72计第2计:0基础1小时精通SEO,免费流量取之不尽(价值20万)
第2计:0基础1小时精通SEO,免费流量取之不尽(价值20万)在网赚圈有一个绝对真理:流量就等于钱,精准流量就等于很多钱。如何才能在完全免费的情况下, 源源不断的获取海量的精准流量? 纵观整个互联网,唯独seo能够做到。什么是seo?seo就
谷歌SEO优化时,为何internal page会替代home page显示?
在SEO的浩瀚世界里,每一个细节都关乎网站的生死存亡。我曾无数次深入探索,试图揭开谷歌搜索引擎的神秘面纱。今天,我想和大家聊聊一个有趣且至关重要的现象:在谷歌SEO优化过程中,为何internal page(内页)有时会替代home page(首页)
百度关键词优化软件排名,哪款工具更高效提升搜索排名?
在当下这个信息爆炸的时代,搜索引擎优化(SEO)成为了众多网站和企业在网络世界中立足的关键。而百度,作为中国最大的搜索引擎,其关键词优化更是众多网络营销策略中的重中之重。基于我多年的实战经验和对行业的深刻理解,我发现选择合适
第六章(项目进度管理)
项目进度管理包括为管理项目按时完成所需的各个过程。 项目进度计划(Schedule)说明了项目如何以及何时交付项目范围中定义的产品、服务 和成果。创建 WBS 最底层得到的是工作包,但是为了更好的估算活动持续时间和活动
QQ群排名引流的两种方式,适合各类粉丝
QQ群大家都不陌生,可以说是在微信群之前最火的了。虽然说现在它的热度已经没有那么高了,但是并不影响我们利用它进行引流操作。虽然本篇文章的标题写的是群排名引流,不过我今天分享的是QQ群的两种引流方式。方式一相信大家也碰到过,不管
系统还原不能用怎么办?联想笔记本自动修复无法进入系统
联想 Lenovo ideapad 700-15ISK 笔记本电脑 ,windows补丁强制更新升级后,出现 “正在准备自动修复”【如图1】,诸位可能还有别的问题,不一而足,我自己的电脑是还有 “我们正在安装一个系统更新,请稍后”【如图2】,电脑会一直重复循环
骗子酒馆正版
骗子酒馆是一款以PC端游《骗子酒馆》为主题的自制策略RPG游戏。在游戏中,玩家将扮演一位酒馆里的牌局参与者,与三位伙伴同桌博弈,目标是成为最终存活的赢家。游戏提供四种牌型,包括K、Q、A和小丑牌,每局开始时系统会随机翻出一张底牌,
鼎益丰兑付危机背后,投资者能否找回自己的血汗钱?资金盘 虚拟货币241209
大家好,我是丹丹,一家软件kaifa公司的商业模式策划导师!(如有疑问/联/系/编辑:DANCE5927)“鼎益丰奇迹”:高收益背后的风险谜团,投资者何去何从?在投资的世界里,是否存在一种“稳赚不赔”的秘籍?当一家企业声称能提供超高年化收
遵义爱采购运营介绍
百度爱采购有哪些功能?发布产品标题有哪些技巧?百度爱采购是一个B2B平台所以我们的产品要能准确的对应百度的类目,这个有利于展现的准确性。有些客户会问我们的产品可以上百度爱采购不,请找下百度类目,有属于你的分类就可以进行开通。
相关文章
推荐文章
发表评论
0评