知了堂学习笔记-微信小程序框架

开发者文档:https://mp.weixin.qq.com/debug/wxadoc/dev/framework/MINA.html

一.文件结构

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

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

如下:

app.js                   必填               小程序逻辑

app.json                必填              小程序公共设置

app.wxss                 否                 小程序公共样式

   一个小程序页面由四个文件组成,

分别是:

js                          必填                   页面逻辑

wxml                        必填                   页面结构

wxss                        否                       页面样式表

json                        否                       页面配置

注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径和文件名

二、配置

app.json文件用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多tab等。

pages

接受一个数组,每一项都是字符串,来指定小程序有哪些页面组成。每一项代表对应页面

【路径+文件名】信息,数组的第一项小程序的初始页面。小程序中新增/减少页面,都需要对pages数组进行修改。文件名不需要写文件后缀,因为框架会自动去寻找路径下.json,.js,.wxml,.wxss四个文件进行整合。

如开发目录为:

则需要在app.json中写:

tabBar

如果小程序是一个多tab应用(客户端窗口的底部或顶部有tab栏可以切换页面),可以通过tabBar配置项指定tab栏的表现,以及tab切换时显示的对应页面。

Tip:

1.当设置position为top时,将不会显示icon

2.tabBar中的list是一个数组,只能配置最少2个、最多5个tab(太多图片过小影响用户体验),tab按数组的顺序排序。

属性说明:

其中list接受一个数组,数组中的每一项都是一个对象,其属性值如下:

三、页面路由

在小程序中所有页面的路由全部由框架进行管理。

页面栈

框架以栈的形式维护了当前的所有页面。当发生路由切换的时候,页面栈的表现如下:

路由方式

对于路由的触发方式以及页面生命周期函数如下:

注意:打开新页面方式无法路由带有Tab的页面

四、视图层

数据绑定

WXML中的动态数据均来自对应的Page的data。

简单的绑定

数据绑定使用Mustache语法(双大括号)将变量包起来(类似C语言中‘\n‘),可以作用于:

内容

运算

可以在{{}}内进行简单的运算,如

三元运算

 五、列表渲染

wx:for

在组件上使用wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该数组。

默认数组的当前项的下标变量名为index,数组当前项的变量名默认为item

使用wx:for-item可以指定当前数组当前元素的变量名,

使用wx:for-index可以指定当前下标的变量名:

wx:for也可以嵌套,下边是一个九九乘法表

 六、条件渲染

wx:if

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

也可以用wx:elif和wx:else来添加一个else块:

 七、事件

什么是事件

·事件是视图层到逻辑层的通讯方式。

·事件可以将用户的行为反馈到逻辑层进行处理。

·事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。

·事件对象可以携带额外信息,如id,dataset,touches.

事件的使用方式

·在组件中绑定一个事件处理函数。

如bindtap,当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数。

·在相应的Page定义中写上相应的事件处理函数,参数是event。

·可以看到log出来的信息大致如下:

八、WXSS

WXX用来决定WXML的组件应该怎么显示。

尺寸单位

·rpx:可以根据屏幕宽度进行自适应。

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

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

选择器

目前支持的选择器有:

全局样式与局部样式

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

2018/1/22

知了堂有温度的大学生众筹学习社区

  

  

原文地址:https://www.cnblogs.com/xiaoxu-xmy/p/8371739.html

时间: 2024-10-12 20:44:16

知了堂学习笔记-微信小程序框架的相关文章

[知了堂学习笔记]_JS小游戏之打飞机(3)-飞机之间的互相撞击,boss的出现,以及控制boss死亡

我的小飞机和敌军小飞机撞击的效果的实现: 1 /** 2 * 定义我的飞机与敌机碰撞的方法: 3 */ 4 function destoryMyPlane(){ 5 for(var i=0;i<enemyArray.length;i++){//外部先循环遍历一次敌机数组: 6 var enemyTop1=parseInt(enemyArray[i].enemyPlaneNode.style.top); 7 var enemyLeft1=parseInt(enemyArray[i].enemyPl

[转] 扩展微信小程序框架功能

通过第三方 JavaScript 库,扩展微信小程序框架功能. 扩展微信小程序框架功能(1)——Promise ES6 对 Promise 有了原生的支持,但微信开发者工具更新版本(0.11.112200)后, 移除了开发者工具对 ES6 中Promise 特性原生的支持, 需要引入第三方的 Promise 库. 扩展微信小程序框架功能(2)——Generator Generator函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同. 扩展微信小程序框架功能(3)——函数功能增强

wepy是一个微信小程序框架

wepy是一个微信小程序框架,支持模块化开发,开发风格类似Vue.js.可搭配redux使用,能同时打包出web和小程序.官方文档地址 目录结构: sotre: redux(如果你创建项目时使用了redux的话) wepy.config.js: webpack配置文件 app.wpy: 入口文件 project.config.json: 小程序项目配置文件 index.template.html: web页面的入口文件 pages: 存放主页面 components: 存放组件 mixins:

微信小程序框架

  框架 小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务. 框架提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者可以方便的聚焦于数据与逻辑上. 响应的数据绑定 框架的核心是一个响应的数据绑定系统. 整个系统分为两块视图层(View)和逻辑层(App Service) 框架可以让数据与视图非常简单地保持同步.当做数据修改的时候,只需要在逻

微信小程序框架集合

UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wemark ★85 - 微信小程序Markdown渲染库 WeZRender ★36 - 微信小程序Canvas增强组件 wetoast ★21 - 仿照微信小程序提供的showToast功能 wxapp-charts ★20 - 微信小程序图表charts组件 WeiXinProject ★18 - 列

微信小程序学习一 微信小程序的四个基本文件

微信小程序有四种类型的文件 js 类型文件 小程序的逻辑代码文件 小程序对js es6的处理比较友好,基本上我们的es6语法都需要使用babel插件去转化成es5(具体是什么原因,自己可以去了解一下),对于es6特定的api还需要使用polyfill去处理,但是小程序的开发工具和内置基础库内置基础库,全部都已经给你处理了,这一点非常pretty. json 类型文件 在小程序中json文件一般都是配置文件 导航栏背景颜色 导航栏标题文字内容 窗口的背景色 等都由json文件配置,json配置文件

微信小程序框架分析小练手(二)——天气微信小程序制作

简单的天气微信小程序. 一.首先,打开微信开发者工具,新建一个项目:weather.如下图: 二.进入app.json中,修改导航栏标题为“贵州天气网”. 三.进入index.wxml,进行当天天气情况的界面布局,包括温度.最低温度和最高温度.天气情况.城市.星期.风向情况.如下图: 四.进入index.js,在data里提供天气数据,让这些数据在界面里显示出来: 五.进入index.wxml,将data里提供的天气数据绑定到页面里: 界面效果如下: 六.进入index.wxss,为index.

SAP UI5和微信小程序框架里的全局变量

SAP UI5 in global variable sap.ui there are many useful utility service available, such as current browser and os information. and use sap.ui.getCore().byId, we can get any UI5 control instance by its id: 微信小程序 wx for Wechat mini program is as sap.ui

[知了堂学习笔记]_用JS制作《飞机大作战》游戏_第1讲(素材查找和界面框架搭建)

一.查找素材: 二.分析游戏界面框架: 登录界面.游戏界面.暂停游戏界面.玩家死亡后弹出界面:并对应的界面包含什么元素: 三.分别搭建以上四个界面: 1.登录界面与游戏界面框架(隐藏游戏界面,四个界面的宽度和高度要一致): HTML代码: <!--main div是游戏界面的大DIV --> <div id="main" style="height: 643px;"> <!--玩家头像DIV--> <div id="