微信小程序框架与组件
版权声明:未经博主允许不得转载

前言:
学习微信小程序应该不怎么难吧~下面我来记录一下学习笔记,在学微信小程序的时候,如果你有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"
}
}
在文档中还提供了tabBar,networkTimeout等。
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>
提供两种文件引用方式import和include。
标识符
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实时音视频录制
如果觉得不错,那就点个赞吧!❤️
我的目标是——每天不断更
微信小程序框架与组件的更多相关文章
- 带坑使用微信小程序框架WePY组件化开发项目,附带第三方插件使用坑
纯粹用来记录wepy及相关联内容,以防再犯~ 1. 接手的wepy项目版本是 1.7.2 ,so我没有初始化的过程.... 2. 安装wepy命令工具,npm install wepy-cli -g ...
- 微信小程序框架探究和解析
何为框架 你对微信小程序的技术框架了解多少? 对wepy 框架进行一系列的深入了解 微信小程序框架解析和探究 小程序组件化框架WePY 在性能调优上做出的探究 开发者培训班上海专场PPT分享:小程序框 ...
- [转] 扩展微信小程序框架功能
通过第三方 JavaScript 库,扩展微信小程序框架功能. 扩展微信小程序框架功能(1)——Promise ES6 对 Promise 有了原生的支持,但微信开发者工具更新版本(0.11.1122 ...
- 微信小程序内置组件web-view的缓存问题探讨
前言:博客或者论坛上面,还有自习亲身经历,发现微信小程序的webview组件的页面缓存问题相当严重,对开发H5的小童鞋来说应该困扰了不少.很多小童鞋硬是抓破脑袋也没有办法解决这个问题,那我们今天就来探 ...
- 原创:WeZRender:微信小程序Canvas增强组件
WeZRender是一个微信小程序Canvas增强组件,基于HTML5 Canvas类库ZRender. 使用 WXML: <canvas style="width: 375px; h ...
- 微信小程序之swiper组件高度自适应
微信小程序之swiper组件高度自适应 要求: (顶部广告栏 ) 改变swiper组件的固定高度,使之随内部每张图片的高度做自适应 原理: 图片加载完之后,获取图片的原始宽高,根据宽高比,计算出适应后 ...
- 微信小程序框架集合
UI组件 weui-wxss ★852 - 同微信原生视觉体验一致的基础样式库 Wa-UI ★122 - 针对微信小程序整合的一套UI库 wx-charts ★105 - 微信小程序图表工具 wema ...
- 微信小程序中的组件使用1
不管是vue还是react中,都在强调组件思想,同样,在微信小程序中也是使用组件思想来实现页面复用的,下面就简单介绍一下微信小程序中的组件思想. 组件定义与使用 要使用组件,首先需要有组件页面和使用组 ...
- 微信小程序基于swiper组件的tab切换
代码地址如下:http://www.demodashi.com/demo/14010.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
随机推荐
- css:元素水平垂直居中的多种方式
CSS元素(文本.图片)水平垂直居中方法 1.text-align:center; 2.margin:0 auto; 3.display:inline-block; + text-align:ce ...
- java学习--java源文件
java源文件以“java”为扩展名.源文件的基本组成部分是类(class) 一个源文件中最多只能有一个public类.其他类(如抽象类,default类即省去修饰符的类,接口)的个数不限. 如果源文 ...
- CSS3 Box-sizing(转载)
转载自:W3CPLUS Airen的博客:http://www.w3cplus.com/content/css3-box-sizing box-sizing是CSS3的box属性之一.一说到CSS的盒 ...
- Linux ssh命令
SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息. ...
- EF连接Mysql 表'TableDetails'中的列'IsPrimaryKey'的值为DBNull
无法生成模型,因为存在以下异常:'System.Data.StrongTypingException:表'TableDetails'中的列'IsPrimaryKey'的值为DBNull.---> ...
- 页面引入js问题
今日问题:左侧菜单栏多余的菜单不可以滚动,自己找了很长时间,前端同事帮忙找了很长事件,最后帮我找到问题所在. 这里红色部分标识有多余部分,可以滑动是对的.但是滑动了. 问题:jquery引入的地方错了 ...
- object references an unsaved transient instance save the transient instance before flushing
object references an unsaved transient instance save the transient instance before flushing 对象引用未保存的 ...
- python动态模块导入
首先创建一个模块目录lib,然后在目录内创建一个模块为:aa.py 官方推荐: import importlib aa = importlib.import_module('lib.aa') c = ...
- tab页
图片: 代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- 创建的vue项目出错的时候,提示This dependency was not found错误的处理方法
错误如图所示: 解决方法:npm install stylus-loader css-loader style-loader --save-dev