微信小程序开发学习笔记(一)

发布时间 2024-01-04 03:52:52作者: 何平安

基础介绍

首先至少会点html,css基础知识再来学,微信开发者工具打开,创建一个js开发基础模板的项目,它的目录如下:wxml就是html,wxss就是css,app开头的就是页面进来首先加载的配置,project.config.json就是一些配置设置,就是详情的本地设置的代码。

推荐学习方式:根据微信官方的开发文档跟着学跟着做,根据教学视频的教学内容的路线学。

基础内容

先介绍下view组件,就是相当于html的div盒子:

属性 类型 默认值 必填 说明 最低版本
hover-class string none 指定按下去的样式类。当 hover-class="none" 时,没有点击态效果 1.0.0
hover-stop-propagation boolean false 指定是否阻止本节点的祖先节点出现点击态 1.5.0
hover-start-time number 50 按住后多久出现点击态,单位毫秒 1.0.0
hover-stay-time number 400 手指松开后点击态保留时间,单位毫秒 1.0.0

再来看text的一些属性:

  • decode:特殊字符允许使用编码,比如&lt就是<,&gt就是>
  • user-select:允许用户复制
  • space(nbsp):允许自定义空格,就是打多少个空格是多少个
还有一些属性就参考微信的官方文档了。
下面的组件就介绍一些基础重要的属性了

icon图标

属性 类型 默认值 必填 说明 最低版本
type string   icon的类型,有效值:success, success_no_circle, info, warn, waiting, cancel, download, search, clear 1.0.0
size number/string 23 icon的大小,单位默认为px,2.4.0起支持传入单位(rpx/px),2.21.3起支持传入其余单位(rem 等)。 1.0.0
color string   icon的颜色,同css的color 1.0.0

progress进度条

属性 类型 默认值 必填 说明 最低版本
percent number   百分比0~100 1.0.0
show-info boolean false 在进度条右侧显示百分比 1.0.0
border-radius number/string 0 圆角大小 2.3.1

相对大小rpx和物理大小px

对于不同的手机机型显示的大小,如果使用的px就是它的实际大小,意思就是无论在哪个手机上先的物理像素大小都是一样的,但是如果使用的是rpx相对大小,则会在不同机型显示相对的大小。比如ipone14宽大小为430,iponeX为375:

使用下面代码验证下:

<view style="width: 50px; height: 50px; background-color: red;" ></view>


<view style="width: 100rpx; height: 100rpx; background-color: black;"></view>
可以看到在iponex的机型下红黑大小一样,ipone14就不一样了。

视图容器

scroll-view滚动容器

介绍个快捷代码,输入.xxx*8回车就会快速创建8个class名为xxx的view容器,.xxx{$}*8回车可创建8个class名为xxx的view容器且每个容器从小往大里面有1到8的数字:

  <view class="row">1</view>
  <view class="row">2</view>
  <view class="row">3</view>
  <view class="row">4</view>
  <view class="row">5</view>
  <view class="row">6</view>
  <view class="row">7</view>
  <view class="row">8</view>

 先看代码:横向滚动的:

<scroll-view style="width: 100%; height: 220rpx; background-color: silver; white-space: nowrap;"scroll-x="true">
<view class="row2">1</view>
<view class="row2">2</view>
<view class="row2">3</view>
<view class="row2">4</view>
<view class="row2">5</view>
<view class="row2">6</view>
<view class="row2">7</view>
<view class="row2">8</view> 
</scroll-view>

 竖向滚动的

<scroll-view style="width: 100%; height: 220rpx; background-color: silver;" scroll-y="true">
  <view class="row">1</view>
  <view class="row">2</view>
  <view class="row">3</view>
  <view class="row">4</view>
  <view class="row">5</view>
  <view class="row">6</view>
  <view class="row">7</view>
  <view class="row">8</view>
</scroll-view>

css部分:

.row{
  width: 180rpx;
  height: 80rpx;
  background-color: blue;
  margin-bottom: 20rpx;
  /* display: inline-block; */
}
/* 清除最后一个元素的margin-right */
.row2{
  width: 100rpx;
  height: 200rpx;
  background-color: blue;
  margin-right: 20rpx;
  display: inline-block;
}

.row2:last-child{
  margin-right: 0;
}
属性 类型 默认值 必填 说明 最低版本
  scroll-x boolean false 允许横向滚动 1.0.0
  scroll-y boolean false 允许纵向滚动 1.0.0

 

movable-area和movable-view可移动组件

属性 类型 默认值 必填 说明 最低版本
direction string none movable-view的移动方向,属性值有all、vertical、horizontal、none 1.2.0
inertia boolean false movable-view是否带有惯性 1.2.0
out-of-bounds boolean false 超过可移动区域后,movable-view是否还可以移动 1.2.0
x number/string   定义x轴方向的偏移,如果x的值不在可移动范围内,会自动移动到可移动范围;改变x的值会触发动画;单位支持px(默认)、rpx; 1.2.0
y number/string   定义y轴方向的偏移,如果y的值不在可移动范围内,会自动移动到可移动范围;改变y的值会触发动画;单位支持px(默认)、rpx; 1.2.0

eg:

<movable-area style="width: 400rpx; height: 400rpx; background-color: skyblue;">
  <movable-view direction="all" style="width: 100px; height: 100px; background-color: springgreen;" inertia="true" x="20rpx" y="20px">
    <view>demo</view>
  </movable-view>
</movable-area>

 

match-media匹配媒体

属性 类型 默认值 必填 说明 最低版本
min-width number   页面最小宽度( px 为单位) 2.11.1
max-width number   页面最大宽度( px 为单位) 2.11.1
width number   页面宽度( px 为单位) 2.11.1
min-height number   页面最小高度( px 为单位) 2.11.1
max-height number   页面最大高度( px 为单位) 2.11.1
<match-media min-width="300" max-width="600">
  <view>当页面宽度在 300 ~ 500 px 之间时展示这里</view>
</match-media>

<match-media min-height="400" orientation="landscape">
  <view>当页面高度不小于 400 px 且屏幕方向为纵向时展示这里</view>
</match-media>