版权声明:未经博主允许不得转载

前言:

学习微信小程序应该不怎么难吧~下面我来记录一下学习笔记,在学微信小程序的时候,如果你有html+css+javascript的基础,那么你就很快地上手掌握的。下面提供微信小程序官方地址:https://developers.weixin.qq.com/miniprogram/dev/framework/structure.html

下面一起学一学,微信小程序的框架吧~看文档,别学别理解。在下的讲述如果不正确的话,可以参考官方文档,也可以帮忙改正。具体还得看官方文档。

正文:

微信小程序的文件结构,有一个描述整体的app和描述多个页面的文件组合在一起的。给大家看一下打开微信小程序一般由什么:

一个文件项目中主体有

app.js 为小程序的逻辑代码
app.json 为小程序的公共设置
app.wxss 为小程序的样式

一个文件中如logs,index等,一般都有

xxx.js 页面逻辑代码如JavaScript
xxx.wxml 如html
xxx.wxss 如css样式
json 为该页面的配置

在app.json中的代码,我提供的代码是刚创建时的代码模块:

{
//这部分为页面的路径
"pages":[
"pages/index/index",
"pages/logs/logs"
],
//窗口表现
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
}
}

在文档中还提供了tabBarnetworkTimeout等。

tabBar

"tabBar": {
"list": [{
"pagePath": "pages/index/index",
"text": "首页"
}, {
"pagePath": "pages/logs/logs",
"text": "日志"
}]
}

networkTimeout网络超时

"networkTimeout": {
"request": 10000,
"downloadFile": 10000
},

window的属性:

(navigationBar-BackgroundColor)
navigationBarBackgroundColor为导航栏的背景颜色
(navigationBar-TextStyle)
navigationBarTextStyle为导航栏标题颜色
仅支持 black/white
(navigationBar-TitleText)
navigationBarTitleText为导航栏标题文字内容
navigationStyle为导航栏样式
仅支持 default/custom
backgroundColor窗口的背景色
backgroundTextStyle下拉 loading 的样式,仅支持 dark/light

tabBar可以切换页面(最少2,最多5)

color文字颜色
selectedColor文字选中时的颜色
backgroundColor背景色
borderStyle 仅支持 black/white
iconPath
selectedIconPath

networkTimeout设置各种网络请求

wx.request
wx.connectSocket

xxx.json:

navigationBarBackgroundColor
navigationBarTextStyle
navigationBarTitleText
backgroundColor
backgroundTextStyle

App()

用来注册小程序。生命周期函数

onLaunch
onShow
onHide
onError

object 参数说明:

data:初始数据
生命周期函数
onLoad
onReady
onShow
onHide
onUnload

组是视图的基本组成单元。

知识点:

数据绑定

Page({
data: {
...
}
})

列表渲染:

<view wx:for="{{array}}"> {{item}} </view>

条件渲染

模板

数据绑定

{{ message }}

"{{flag ? true : false}}"

wx:for

<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">
{{idx}}: {{itemName.message}}
</view>
//wx:for="{{[1, 2, 3]}}"
<view> {{index}}: </view>
<view> {{item}} </view>

提供两种文件引用方式importinclude

标识符

delete
void
typeof null
undefined
NaN
Infinity
var if
else true
false require this
function
arguments
return for
while
do
break
continue
switch
case
default

数据类型

1. number : 数值
toString
toLocaleString
valueOf
toFixed
2. string :字符串
3. boolean:布尔值
toString
valueOf
4. object:对象
5. function:函数
6. array : 数组
7. ate:日期
8. regexp:正则

选择器

view::after	在 view 组件后边插入内容
view::before 在 view 组件前边插入内容

组件

view视图容器

scroll-view滚动视图

swiper滑块视图容器

movable-area可移动区域

movable-view可移动的视图容器

cover-view覆盖在原生组件之上的文本视图

cover-image覆盖在原生组件之上的图片视图

rich-text富文本

label用来改进表单组件的可用性

picker从底部弹起的滚动选择器

picker-view嵌入页面的滚动选择器

navigator页面链接

functional-page-navigator用于跳转到插件功能页

live-player实时音视频播放

live-pusher实时音视频录制

如果觉得不错,那就点个赞吧!❤️

我的目标是——每天不断更

微信小程序框架与组件的更多相关文章

  1. 带坑使用微信小程序框架WePY组件化开发项目,附带第三方插件使用坑

    纯粹用来记录wepy及相关联内容,以防再犯~ 1. 接手的wepy项目版本是 1.7.2 ,so我没有初始化的过程.... 2. 安装wepy命令工具,npm install wepy-cli -g ...

  2. 微信小程序框架探究和解析

    何为框架 你对微信小程序的技术框架了解多少? 对wepy 框架进行一系列的深入了解 微信小程序框架解析和探究 小程序组件化框架WePY 在性能调优上做出的探究 开发者培训班上海专场PPT分享:小程序框 ...

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

    通过第三方 JavaScript 库,扩展微信小程序框架功能. 扩展微信小程序框架功能(1)——Promise ES6 对 Promise 有了原生的支持,但微信开发者工具更新版本(0.11.1122 ...

  4. 微信小程序内置组件web-view的缓存问题探讨

    前言:博客或者论坛上面,还有自习亲身经历,发现微信小程序的webview组件的页面缓存问题相当严重,对开发H5的小童鞋来说应该困扰了不少.很多小童鞋硬是抓破脑袋也没有办法解决这个问题,那我们今天就来探 ...

  5. 原创:WeZRender:微信小程序Canvas增强组件

    WeZRender是一个微信小程序Canvas增强组件,基于HTML5 Canvas类库ZRender. 使用 WXML: <canvas style="width: 375px; h ...

  6. 微信小程序之swiper组件高度自适应

    微信小程序之swiper组件高度自适应 要求: (顶部广告栏 ) 改变swiper组件的固定高度,使之随内部每张图片的高度做自适应 原理: 图片加载完之后,获取图片的原始宽高,根据宽高比,计算出适应后 ...

  7. 微信小程序框架集合

    UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wema ...

  8. 微信小程序中的组件使用1

    不管是vue还是react中,都在强调组件思想,同样,在微信小程序中也是使用组件思想来实现页面复用的,下面就简单介绍一下微信小程序中的组件思想. 组件定义与使用 要使用组件,首先需要有组件页面和使用组 ...

  9. 微信小程序基于swiper组件的tab切换

    代码地址如下:http://www.demodashi.com/demo/14010.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...

随机推荐

  1. 从一个简单的约束看规范性的SQL脚本对数据库运维的影响

    之前提到了约束的一些特点,看起来也没什么大不了的问题,http://www.cnblogs.com/wy123/p/7350265.html以下以实际生产运维中遇到的一个问题来说明规范的重要性. 如下 ...

  2. JAVA类与类之间的全部关系简述+代码详解

    本文转自: https://blog.csdn.net/wq6ylg08/article/details/81092056类和类之间关系包括了 is a,has a, use a三种关系(1)is a ...

  3. Spark 基础之SQL 快速上手

    知识点 SQL 基本概念 SQL Context 的生成和使用 1.6 版本新API:Datasets 常用 Spark SQL 数学和统计函数 SQL 语句 Spark DataFrame 文件保存 ...

  4. Linux Ipv6地址配置

    Step1:启用IPV6网络配置 [root@node-1 ~]# vi /etc/sysconfig/network NETWORKING_IPV6=yes   //全局启用ipv6初始化IPV6_ ...

  5. thinkphp 查表返回的数组,js解析有UNICode编码,解决办法

    public function getDeviceMsg(){ $allDevicesMsg = M("newdevicesstatus")->getField(" ...

  6. React-router4 第八篇 ReactCSSTransitionGroup 动画转换

    https://reacttraining.com/react-router/web/example/animated-transitions 动画转换这么高级,其实是又引入了一个组件,没什么特别, ...

  7. Matplotlib 基本用法

    1.基础应用 >>> import matplotlib.pyplot as plt >>> import numpy as np #使用np.linspace定义 ...

  8. if else if else 语句

    适合在程序中,实现多条件的判断 编写格式: if(条件){ if 执行体 }else if(条件){ if 执行体 }else if(条件){ if 执行体 }else{ else的执行体 } 当if ...

  9. BZOJ4377 Kurs szybkiego czytania \ Luogu 3589[POI2015]KUR - 数学思维题

    Solution 我又双叒叕去看题解啦$QAQ$, 真的想不到鸭 输入 $a$ 和 $n$ 互质, 所以满足 $a \times i \ mod \ n$ $(0<=i<n)$ 肯定是不重 ...

  10. redis主从复制详述

    一.主从复制详述 原理其实很简单,master启动会生成一个run id,首次同步时会发送给slave,slave同步命令会带上run id以及offset,显然,slave启动(初次,重启)内存中没 ...