前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序编写课程笔记

微信小程序编写课程笔记

作者头像
OliverHan
发布2023-04-04 11:19:53
5540
发布2023-04-04 11:19:53
举报
文章被收录于专栏:阿狐和柴柴

微信小程序编写

框架结构

app部分

小程序包含一个描述整体程序的 app 和多个描述各自页面的 page

一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:

文件

必需

作用

app.js

小程序逻辑

app.json

小程序公共配置

app.wxss

小程序公共样式表

app.json用 对象:字符串数组 储存 用户可能访问的路径。(注意是相对于app.json这个文件的路径。)

代码语言:javascript
复制
"pages":["pages/about/about","pages/selfpage/selfpage"] 
注意这样写先加载about,再加载selfpage

app.json写全局配置

详细见:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html

pages部分

一个page就是一个页面,由四个文件组成,分别是:

文件类型

必需

作用

js

页面逻辑

wxml

页面结构

json

页面配置

wxss

页面样式表

页面.js中写页面对象

页面.wxml添加组件(内容),可调用wxml中的样式规则。

页面.json是对整个页面底部及导航栏进行编辑。

(详细配置可见https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/page.html

页面.wxml中写组件的详细参数(字体大小,位置等等),用样式规则封装。

截屏2023-01-24 下午3.39.28
截屏2023-01-24 下午3.39.28

所以page文件夹中每一个子文件夹就是一个page,都有四个文件,

app在根目录。

内容编写

页面组件(元素):wxml

代码语言:javascript
复制
<text class = "info" id="zbc" style = "" bindtap="f0" hidden="" 
      data-user-name="user">Hello world </text>
class 引用配置类
bindtap = "事件处理函数" 将该组件与事件处理函数绑定。
hidden 设定是否隐藏
data- 设定组件自定义的数据,封装在事件对象中,在事件发生的时候传递数据给 事件处理函数。

<image src="图片地址"></image>
如果是本地图片需要放在小程序的文件夹里面。新建一个images,和pages文件夹并列。

wxml是微信的标签语法,和html类似。

组件类别由两个<>封装,最后一个加/。

第一个<>中可以写组件的参数。

样式控制

为了让一些组件使用相同的配置类,使用view进行组件划分 (和html的div作用相同) 。

代码语言:javascript
复制
<view>
  <image src="http://oliverhangleblog.oss-cn-hangzhou.aliyuncs.com/img/avatar.jpg"></image>
  <text>小狐狸的主页</text>
  <text>小狐狸的网站:thripear.space</text>
</view>

view封装使用的配置写在第一个<>中,

代码语言:javascript
复制
<view class = "配置名字">
  ...
</view>

应用弹性盒子布局(各组件位置)

传统方式:

编写位置:页面.wxss

代码语言:javascript
复制
.container {
  background-color: #eee //加个背景颜色
  height: 100vh; //整个页面100%高度处
  
  text-align: center
}
text {
  display: block;//一个文字组件一行
}

image,text{
  margin-bottom: 60px;
}//图片从下到上去给60像素的间隔

border-radius: 50%; 图片圆形边框

问题:

1.赋值分散

2.严重依赖页面结构和实际内容大小

使用弹性盒子:

代码语言:javascript
复制
.container {
  background-color: #eee ;
  height: 100vh; 
  
  display: flex;     //设置弹性盒子
  flex-direction: column;     //从上到下竖直分布
  justify-content: space-around;      //上下均匀分布
  align-items: center;      //中心分布
}

就算是新增组件也可以立刻分布,非常灵活。

把弹性盒子的设定封装在container中,每个页面都可以调用。

注意:container放在全局用(app.wxss),某个page的wxss中的东西不能给其他page用。

适应不同屏幕宽度

引入新的长度单位:rpx

使用rpx,默认所有设备的屏幕高度为750rpx

通常使用iPhone6的屏幕进行设计

如果是100px,直接x2变200rpx。

使用导航连接:navigator组件

注意:text中只能为纯文本

text和navigator是并列,不能包含。

Navigator的重要属性

open-type属性

代码语言:javascript
复制
<navigator url="/pages/selfpage/selfpage" style="display: inline;" open-type="redirect">

url后面写跳转地址,style设置组件display为inline,不会被弹性盒子给分开。
opentype为redirect 进入页面后,左上角不会出现返回按钮。默认为navigate
navigator可以使用text的一些设定。(比如我用了text的maintext封装)

hover-class属性: 被选中是使用’中的’设定

代码语言:javascript
复制
<navigator url="/pages/selfpage/selfpage" style="display: inline;" open-type="redirect">

声明:

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=48phd0m6k409

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 微信小程序编写
    • 框架结构
      • app部分
      • pages部分
    • 内容编写
      • 页面组件(元素):wxml
      • 应用弹性盒子布局(各组件位置)
      • 适应不同屏幕宽度
      • 使用导航连接:navigator组件
  • 声明:
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档