当前位置:首页>科技>

微信小程序怎么开(小程序免费开发平台)

来源:原点资讯(m.360kss.com)时间:2023-04-21 02:26:22作者:YD166手机阅读>>

4.5. 成功

微信小程序怎么开,小程序免费开发平台(9)

5. 微信开发工具深入介绍

工具介绍

微信小程序怎么开,小程序免费开发平台(10)

6. 小程序结构目录

小程序框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务。

小程序框架提供了自己的视图层描述语言 WXML 和 WXSS,以及 JavaScript,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑。

官网

6.1. 小程序文件结构和传统web对比

结构

传统web

微信小程序

结构

HTML

WXML

样式

CSS

WXSS

逻辑

Javascript

Javascript

配置

JSON

通过以上对比得出,传统web是三层结构。而微信小程序 是四层结构,多了一层配置.json

6.2. 基本的项目目录

微信小程序怎么开,小程序免费开发平台(11)

7. 配置介绍

一个小程序应用程序会包括最基本的两种配置文件。一种是全局的 app.json 和 页面自己的 page.json

注意:配置文件中不能出现注释

7.1. 全局配置app.json

app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等。普通快速启动项目里边的 app.json 配置

{ "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle":"black" } }

字段的含义

  1. pages字段 —— 用于描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。
  2. window字段 —— 定义小程序所有页面的顶部背景颜色,文字颜色定义等。
  3. 完整的配置信息请参考 app.json配置
7.2. page.json

这里的 page.json 其实用来表示页面目录下的 page.json 这类和小程序页面相关的配置。

开发者可以独立定义每个页面的一些属性,如顶部颜色、是否允许下拉刷新等等。

页面的配置只能设置 app.json 中部分 window 配置项的内容,页面中配置项会覆盖 app.json 的 window 中相同的配置项。

属性

类型

默认值

描述

navigationBarBackgroundColor

HexColor

#000000

导航栏背景颜色,如 #000000

navigationBarTextStyle

String

white

导航栏标题颜色,仅支持 black / white

navigationBarTitleText

String

导航栏标题文字内容

backgroundColor

HexColor

#ffffff

窗口的背景色

backgroundTextStyle

String

dark

下拉 loading 的样式,仅支持 dark / light

enablePullDownRefresh

boolean

false

是否全局开启下拉刷新。 详见 Page.onPullDownRefresh

onReachBottomDistance

Number

50

页面上拉触底事件触发时距页面底部距离,单位为px。 详见 Page.onReachBottom

disableScroll

Boolean

false

设置为 true 则页面整体不能上下滚动;只在页面配置中有效,无法在 app.json 中设置该项

8. 视图层

WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。

8.1. 数据绑定 8.1.1. 普通写法

{{ message }} Page({ data: { message: 'Hello MINA!' } })8.1.2. 组件属性

Page({ data: { id: 0 } })8.1.3. bool类型

不要直接写 checked="false",其计算结果是一个字符串

8.2. 运算8.2.1. 三元运算

8.2.2. 算数运算

{{a b}} {{c}} d Page({ data: { a: 1, b: 2, c: 3 } })8.2.3. 逻辑判断

8.2.4. 字符串运算

{{"hello" name}} Page({ data:{ name: 'MINA' } })8.2.5. 注意

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

8.3. 列表渲染 8.3.1. wx:for

项的变量名默认为 item wx:for-item 可以指定数组当前元素的变量名

下标变量名默认为 index wx:for-index 可以指定数组当前下标的变量名

{{index}}: {{item.message}} Page({ data: { array: [{ message: 'foo', }, { message: 'bar' }] } })8.3.2. wx:for

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

{{index}}: {{item}} 8.3.3. wx:key

提高效率使用的

8.4. 条件渲染 8.4.1. wx:if

在框架中,使用 wx:if="{{condition}}" 来判断是否需要渲染该代码块:

True 8.4.2. hidden

类似 wx:if

频繁切换 用 hidden

不常使用 用 wx:if

9. WXSS

WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。

与 CSS 相比,WXSS 扩展的特性有:

  • 尺寸单位
  • 样式导入
9.1. 尺寸单位
  • rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。

设备

rpx换算px (屏幕宽度/750)

px换算rpx (750/屏幕宽度)

iPhone5

1rpx = 0.42px

1px = 2.34rpx

iPhone6

1rpx = 0.5px

1px = 2rpx

iPhone6 Plus

1rpx = 0.552px

1px = 1.81rpx

建议:开发微信小程序时设计师可以用 iPhone6 作为视觉稿的标准。

注意:在较小的屏幕上不可避免的会有一些毛刺,请在开发时尽量避免这种情况。

9.2. 样式导入

使用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。

示例代码:

/** common.wxss **/ .small-p { padding:5px; } /** app.wxss **/ @import "common.wxss"; .middle-p { padding:15px; }9.3.内联样式

框架组件上支持使用 style、class 属性来控制组件的样式。

  • style:静态的样式统一写到 class 中。style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。

  • class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上.,样式类名之间用空格分隔。

9.4. 选择器

目前支持的选择器有:

选择器

样例

样例描述

.class

.intro

选择所有拥有 class="intro" 的组件

#id

#firstname

选择拥有 id="firstname" 的组件

element

view

选择所有 view 组件

element, element

view, checkbox

选择所有文档的 view 组件和所有的 checkbox 组件

::after

view::after

在 view 组件后边插入内容

::before

view::before

在 view 组件前边插入内容

9.5. 全局样式与局部样式

定义在 app.wxss 中的样式为全局样式,作用于每一个页面。在 page 的 wxss 文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖 app.wxss 中相同的选择器。

10. 基本组件

小程序提供了常用的标签组件用于构建页面

组件

10.1. view

类似 div

属性名

类型

默认值

说明

hover-class

String

none

指定按下去的样式类。当 hover-class="none" 时,没有点击态效果

10.1.1. 代码

点击我试试 .h-class{ background-color: yellow; }10.2. text

显示普通的文本 text只能嵌套text

属性名

类型

默认值

说明

selectable

Boolean

false

文本是否可选

decode

Boolean

false

是否解码

10.2.1. 代码

普 通 10.3. image

图片标签,image组件默认宽度320px、高度240px

注意:该标签 其实是 web中的 图片标签 和 背景图片的结合!!! 并且不支持以前的web中的背景图片的写法!!!

属性名

类型

默认值

说明

src

String

图片资源地址,支持云文件ID(2.2.3起)

mode

String

'scaleToFill'

图片裁剪、缩放的模式

lazy-load

Boolean

false

图片懒加载。只针对page与scroll-view下的image有效

mode 有效值:

mode 有 13 种模式,其中 4 种是缩放模式,9 种是裁剪模式。

模式

说明

缩放

scaleToFill

不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素

缩放

aspectFit

保持纵横比缩放图片,使图片的长边能完全显示出来。

缩放

aspectFill

保持纵横比缩放图片,只保证图片的短边能完全显示出来。

缩放

widthFix

宽度不变,高度自动变化,保持原图宽高比不变

裁剪

top

不缩放图片,只显示图片的顶部区域

裁剪

bottom

不缩放图片,只显示图片的底部区域

裁剪

center

不缩放图片,只显示图片的中间区域

裁剪

left

不缩放图片,只显示图片的左边区域

裁剪

right

不缩放图片,只显示图片的右边区域

裁剪

top left

不缩放图片,只显示图片的左上边区域

裁剪

top right

不缩放图片,只显示图片的右上边区域

裁剪

bottom left

不缩放图片,只显示图片的左下边区域

裁剪

bottom right

不缩放图片,只显示图片的右下边区域

10.4. swiper

微信内置有轮播图组件

默认宽度 100% 高度 150px

属性名

类型

默认值

说明

indicator-dots

Boolean

false

是否显示面板指示点

indicator-color

Color

rgba(0, 0, 0, .3)

指示点颜色

indicator-active-color

Color

#000000

当前选中的指示点颜色

autoplay

Boolean

false

是否自动切换

interval

Number

5000

自动切换时间间隔

circular

Boolean

false

是否采用衔接滑动

10.4.1. swiper

滑块视图容器。

10.4.2. swiper-item

滑块

默认宽度和高度都是100%

10.5. navigator

导航组件 类似超链接标签

属性名

类型

默认值

说明

target

String

self

在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram

url

String

当前小程序内的跳转链接

open-type

String

navigate

跳转方式

open-type 有效值:

说明

navigate

保留当前页面,跳转到应用内的某个页面,但是不能跳到 tabbar 页面

redirect

关闭当前页面,跳转到应用内的某个页面,但是不允许跳转到 tabbar 页面。

switchTab

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

reLaunch

关闭所有页面,打开到应用内的某个页面

navigateBack

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层

exit

退出小程序,target="miniProgram"时生效

10.6. video

视频。该组件是原生组件,使用时请注意相关限制。

属性名

类型

默认值

说明

src

String

要播放视频的资源地址,支持云文件ID(2.2.3起)

duration

Number

指定视频时长

controls

Boolean

true

是否显示默认播放控件(播放/暂停按钮、播放进度、时间)

autoplay

Boolean

false

是否自动播放

loop

Boolean

false

是否循环播放

muted

Boolean

false

是否静音播放

11. 自定义组件

小程序允许我们使用自定义组件的方式来构建页面。

自定义组件

11.1. 创建自定义组件

类似于页面,一个自定义组件由 json wxml wxss js 4个文件组成

11.1.1. 声明组件

首先需要在 json 文件中进行自定义组件声明

{ "Component": true }11.1.2. 编辑组件

同时,还要在 wxml 文件中编写组件模板,在 wxss 文件中加入组件样式

注意:在组件wxss中不应使用ID选择器、属性选择器和标签名选择器。

{{innerText}} /* 这里的样式只应用于这个自定义组件 */ .inner { color: red; }11.1.3. 注册组件

在自定义组件的 js 文件中,需要使用 Component() 来注册组件,并提供组件的属性定义、内部数据和自定义方法

Component({ properties: { // 这里定义了innerText属性,属性值可以在组件使用时指定 innerText: { type: String, value: 'default value', } }, data: { // 这里是一些组件内部数据 someData: {} }, methods: { // 这里是一个自定义方法 customMethod: function(){} } })11.2. 使用自定义组件

首先要在页面的 json 文件中进行引用声明。还要提供对应的组件名和组件路径

{ // 引用声明 "usingComponents": { // 要使用的组件的名称 // 组件的路径 "component-tag-name": "path/to/the/custom/component" } }

上一页 1 2 3 末页

栏目热文

微信三人视频聊天怎么弄(多人微信视频聊天怎么弄)

微信三人视频聊天怎么弄(多人微信视频聊天怎么弄)

2022年07月29日 星期五老师在身边——「每日一答」微信如何进行多个人视频?大家都知道微信可以和家人好友视频聊天,那...

2023-04-21 02:15:36查看全文 >>

一个万能公式搞定即兴演讲(即兴演讲万能公式完整版)

一个万能公式搞定即兴演讲(即兴演讲万能公式完整版)

即兴演讲越来越多地出现在各大房地产企业(如中海、碧桂园等)的面试环节中,但相较于无领导小组讨论和半结构化面试的形式,即兴...

2023-04-21 02:24:43查看全文 >>

座谈会个人发言套路(座谈会个人发言怎么说)

座谈会个人发言套路(座谈会个人发言怎么说)

座谈发言开头要力求抓住听众的耳朵,方式要灵活多样,而开头的分类,有如下几种方式,可以作为借鉴。 第一种,以幽默的方式...

2023-04-21 02:27:10查看全文 >>

座谈会个人简短发言200字(座谈会个人发言怎么说)

座谈会个人简短发言200字(座谈会个人发言怎么说)

青年干部座谈会发言稿尊敬的各位领导、各位同事,大家下午好。很开心能有这样一个机会和大家一起交流,一起学习。“这个社会上,...

2023-04-21 02:33:57查看全文 >>

座谈交流发言技巧(领导讲话必背50句话)

座谈交流发言技巧(领导讲话必背50句话)

交流发言是机关工作的一种常态。然而,有人私下谈论工作头头是道,发言时却讲得语无伦次;平时经常爆点小幽默,发言时却如临大敌...

2023-04-21 02:16:12查看全文 >>

微信如何超过9人同时视频(微信怎样几个人同时视频)

微信如何超过9人同时视频(微信怎样几个人同时视频)

2022年07月29日 星期五老师在身边——「每日一答」微信如何进行多个人视频?大家都知道微信可以和家人好友视频聊天,那...

2023-04-21 01:58:12查看全文 >>

微信多人视频怎么美颜(微信多人视频美颜功能怎么设置)

微信多人视频怎么美颜(微信多人视频美颜功能怎么设置)

我们经常在微信上跟家人朋友视频聊天,但是没有美颜,总觉得自己不好看。其实微信视频聊天也是可以美颜的,教你这样设置,再也不...

2023-04-21 02:26:13查看全文 >>

微信多人视频打不开怎么办

微信多人视频打不开怎么办

大家在使用OPPO手机的时候回遇到微信或者QQ无法视频或者语音的情况,好多的用户以为是手机出现问题了。其实这是因为手机的...

2023-04-21 02:05:31查看全文 >>

乘法口诀表的数字规律(乘法口诀表规律总结归纳)

乘法口诀表的数字规律(乘法口诀表规律总结归纳)

一、乘法口诀为什么叫小九九(或大九九)呢?你知道吗? 最流行的计算口诀是“九九”,就是乘法口诀或乘法表。现在的口诀是从...

2023-04-21 02:10:08查看全文 >>

背大九九乘法表有用吗(背九九乘法表最简单的办法)

背大九九乘法表有用吗(背九九乘法表最简单的办法)

首先说观点:有用。什么是大九九乘法表?下面这个就是了:相比于我们常说的九九乘法表,大九九乘法表把10~19的乘法算式也涵...

2023-04-21 02:19:47查看全文 >>

文档排行