微信小程序基本总结
小程序目录结构
- project.config.json 配置项目文件,用的最多的就是配置是否开启HTTPS校检
- app.js 设置一些全局的基础数据
- app.json 设置底部tabbar,标题栏和路由
- app.wxss 公共样式,引入iconfont等
- pages包含一个个具体页面
- index.js 页面的逻辑、请求、和处理数据
- index.wxss 页面样式
- index.wxml 页面结构
wxml与html的异同
- 都是用来描述页面结构
- 都有标签、属性等构成
- 标签名字不一样,且小程序表标签更少,单一标签更多
- 多了一些wx:if这样的属性以及{{ }}这样的表达式
- 组件封装不同,wxml对组件进行了重新封装
- 小程序在JS Core内,没有DOM树和window对象,小程序中无法实现window对象和document对象
wxss和css的异同
- 都是描述页面样式
- wxss具有css的大部分特性,也做了一些扩充和修改
- wxss新增了尺寸单位,wxss在底层支持新的尺寸单位rpx;
- wxss仅支持部分css选择器
- wxss提供全局样式与局部样式
微信小程序调用接口
官方给出的接口叫做wx.request,官方示例:
wx.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data: {
x: '' ,
y: ''
},
header: {
'content-type': 'application/json'
},
success: function(res) {
console.log(res.data)
}
})
各项参数的解释如下:
一、URL为开发者服务器接口地址的请求,一般可以分成两部分:
1、https://域名ID——>请求的域名
2、index.php———>请求的功能接口
请求的域名进入服务器中,请求的功能接口进行数据传输
二、data为传递的参数 例如将上示例代码的data传入数据接口中
三、header为请求的头文件,一般有两种写法:
1、'content-type':'application/json' 会对数据进行JSON序列化
2、'content-type':'x-www-form-urlencoded' 会将数据转换成 query string
四、method为HTTP 请求方法,有8种调用方式,分别为OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE:
一般常用的是 POST和GET两种模式,在进行传参的时候,请求功能接口时,method和index.php要一致,例如 method:'GET' 对应的是 $name = $_GET['a'];
五、dataType和responseType分别为返回的数据格式和响应的数据类型,默认值分别为:json和text
六、success为接口调用成功的回调函数,res中传递回来的是index.php传递的参数,调用特定参数的方式为:res.data.name
七、fail和complete分别为接口调用失败的回调函数和接口调用结束的回调函数(调用成功、失败都会执行)
小程序生命周期函数
- onLoad()页面加载时触发,只会调用一次,可获取当前页面路径中的参数
- onShuw()页面显示/切入后台时触发,一般用来发送数据请求
- onReady()页面初次渲染完成时触发,只会调用一次,代表页面已可和视图进行交互
- onHide()页面隐藏/切入后台时触发,如底部tab切换到其他页面或小程序切入后台等
- onUnload()页面卸载时触发,如redirectTo或navigateBack到其他页面时
bindtap和catchtap的区别
bind绑定事件不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡
wx.navigateTo(), wx.redirectTo(), wx.switchTab(), wx.navigateBack(), wx.reLaunch()的区别
<navigator url="../index/index">跳转到新页面</navigator>
<navigator url="../index/index" open-type="redirect">在当前页打开</navigator>
<navigator url="../index/index" open-type="switchTab">切换到首页Tab</navigator>
微信小程序基本总结的更多相关文章
- 微信小程序开发心得
微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...
- 微信小程序体验(2):驴妈妈景区门票即买即游
驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...
- 微信小程序(微信应用号)组件讲解
这篇文章主要讲解微信小程序的组件. 首先,讲解新建项目.现在有句话:招聘三天以上微信小程序开发,这个估计只能去挖微信的工程师了.技术新,既然讲解,那我们就从开始建项目讲解. 打开微信web开发者工具, ...
- 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新
微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...
- 通过微信小程序看前端
前言 2016年9月22日凌晨,微信官方通过“微信公开课”公众号发布了关于微信小程序(微信应用号)的内测通知.整个朋友圈瞬间便像炸开了锅似的,各种揣测.介绍性文章在一夜里诞生.而真正收到内测邀请的公众 ...
- 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app
微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...
- 来自于微信小程序的一封简讯
9月21晚间,微信向部分公众号发出公众平台-微信应用号(小程序)的内测邀请,向来较为低调的微信在这一晚没人再忽视它了. 来自个人博客:Damonare的个人博客 一夜之间火了的微信应用号你真的知道吗? ...
- 微信小程序前端源码逻辑和工作流
看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简. 废话不多说,直接分析前端代码.个人观点,难免有疏漏,仅供参考. 文件基本结构: 先看入口app.j ...
- 微信小程序初探
做为码农相信大家最近肯定都会听到微信小程序,虽然现阶段还没有正式开放注册,但大家可以还是可以开发测试. 到微信的WIKI(http://mp.weixin.qq.com/wiki?t=resource ...
- 【微信小程序开发】之如何获取免费ssl证书【图文步骤】
微信小程序要求所有网络请求都走ssl加密,因此我们开发服务端接口需要配置为https 这篇文章介绍一下如何 在 startssl 申请一个免费的ca证书. 1. 打开网站 https://www.s ...
随机推荐
- 解决Delphi报Range check error错误
没有深入研究,大体是Debug下编译的运行就报错,Release下编译的正常. 后来发现Debug模式下会打开越界检查. Project--> Option -->Delphi Compl ...
- D3简介
(一)D3简介 一.D3是什么 一张图片价值相当于一千个字 D3的全称是 Data-Driven Documents,直译为:数据驱动的文档 D3是一个javaScript的函数库,是用来做数据可视化 ...
- Array方法学习总结
Array 对象支持在 单个变量名下存储多个元素. Array方法: 在遍历多个元素的方法中,下面的方法在访问索引之前执行in检查,并且不将空槽与undefined合并:concat() 返回一个新数 ...
- 阿里云IPSec的一些问题
1.阿里云IPSec无法进行多段连接单个IPSec连接 解决方案 在阿里云端需要如下操作 1.单个VPN网关下创建多个IPSec连接 连接属性一致 使用兴趣流模式.打开nat转换. 2段对2段 ...
- 一键部署redis-5.0.5
#!/bin/bash echo "-------------------------------------" echo -e "\e[1;33m 下面开始部署redi ...
- vi 快捷键/ctags
vi 配置 syntax enableset nu set relativenumberset hlsearch set autoindentset shiftwidth=4set tabstop=4 ...
- 用户警告:“importlib-metadata”版本与“setuptools”不兼容。升级importlib-metadata
Warning: `importlib-metadata` version is incompatible with `setuptools` 解决方案:升级 importlib-metadata 版 ...
- SVD动态图
library(gganimate) library(gifski) # 构造数据 phi<-pi/6 theta<-pi/3 c<-matrix(c(cos(phi),sin(ph ...
- dnspy查看async方法
- JAVA远程调用 webService
package com.example.demo; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoin ...