微信小程序框架与组件
版权声明:未经博主允许不得转载
前言:
学习微信小程序应该不怎么难吧~下面我来记录一下学习笔记,在学微信小程序的时候,如果你有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 ...
随机推荐
- TCC细读 - 3 恢复流程
重试定时任务,通过外部调度实现 package org.mengyun.tcctransaction.spring.recover; import org.mengyun.tcctransaction ...
- MySQL的安装流程与入门
MySQl是一种关系型数据库,存放的是文字数据,它是以“表”的形式进行存储的.由于MySQl的实用性和不收费,它在世界上是应用最多的数据库,但是,它不支持大量数据写入.接下来,我将为大家分享一下我学习 ...
- django + nginx + uwsgi
server{ listen ; server_name 0.0.0.0; charset utf-; access_log /var/log/nginx/access.log main; locat ...
- Appium 学习一:环境搭建问题
1.安装Android-sdk http://tools.android-studio.org/index.php/sdk 问题1:下载 android-sdk_r24.4.1-windows.zip ...
- Fedora 25 安装 Bugzilla
最近领导要我们装一个Bugzulla,虽然我们项目已经有了JIRA(我就呵呵),不过我还是找些资料安装了,在此备忘. Bugzilla 是一个开源的缺陷跟踪系统(Bug-Tracking System ...
- 算法练习LeetCode初级算法之树
二叉树的前序遍历 我的解法:利用递归,自底向下逐步添加到list,返回最终的前序遍历list class Solution { public List<Integer> preorderT ...
- reentrantlocklock实现有界队列
今天找synchronize和reentrantlock区别的时候,发现有个使用reentrantlock中的condition实现有界队列,感觉挺有趣的,自己顺手敲了一遍 class Queue{ ...
- FortiGate 路由
1.静态路由 防火墙外网口wan1 ip地址为202.1.1.2,对端ISP路由器G1/0口地址为202.1.1.1. 菜单: 路由--静态--静态路由,点击 "创建新的",按如下 ...
- 763. Partition Labels 相同字母出现在同一块中,且块数最多
[抄题]: A string S of lowercase letters is given. We want to partition this string into as many parts ...
- maven发布jar包到私服
1.setting.xml配置 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi=&quo ...