小程序目录结构

  1. project.config.json 配置项目文件,用的最多的就是配置是否开启HTTPS校检
  2. app.js 设置一些全局的基础数据
  3. app.json 设置底部tabbar,标题栏和路由
  4. app.wxss 公共样式,引入iconfont等
  5. pages包含一个个具体页面
  6. index.js 页面的逻辑、请求、和处理数据
  7. index.wxss 页面样式
  8. index.wxml 页面结构

wxml与html的异同

  1. 都是用来描述页面结构
  2. 都有标签、属性等构成
  3. 标签名字不一样,且小程序表标签更少,单一标签更多
  4. 多了一些wx:if这样的属性以及{{ }}这样的表达式
  5. 组件封装不同,wxml对组件进行了重新封装
  6. 小程序在JS Core内,没有DOM树和window对象,小程序中无法实现window对象和document对象

wxss和css的异同

  1. 都是描述页面样式
  2. wxss具有css的大部分特性,也做了一些扩充和修改
  3. wxss新增了尺寸单位,wxss在底层支持新的尺寸单位rpx;
  4. wxss仅支持部分css选择器
  5. 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分别为接口调用失败的回调函数和接口调用结束的回调函数(调用成功、失败都会执行)

小程序生命周期函数

  1. onLoad()页面加载时触发,只会调用一次,可获取当前页面路径中的参数
  2. onShuw()页面显示/切入后台时触发,一般用来发送数据请求
  3. onReady()页面初次渲染完成时触发,只会调用一次,代表页面已可和视图进行交互
  4. onHide()页面隐藏/切入后台时触发,如底部tab切换到其他页面或小程序切入后台等
  5. 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>

微信小程序基本总结的更多相关文章

  1. 微信小程序开发心得

    微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...

  2. 微信小程序体验(2):驴妈妈景区门票即买即游

    驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...

  3. 微信小程序(微信应用号)组件讲解

    这篇文章主要讲解微信小程序的组件. 首先,讲解新建项目.现在有句话:招聘三天以上微信小程序开发,这个估计只能去挖微信的工程师了.技术新,既然讲解,那我们就从开始建项目讲解. 打开微信web开发者工具, ...

  4. 神技!微信小程序(应用号)抢先入门教程(附最新案例DEMO-豆瓣电影)持续更新

    微信小程序 Demo(豆瓣电影) 由于时间的关系,没有办法写一个完整的说明,后续配合一些视频资料,请持续关注 官方文档:https://mp.weixin.qq.com/debug/wxadoc/de ...

  5. 通过微信小程序看前端

    前言 2016年9月22日凌晨,微信官方通过“微信公开课”公众号发布了关于微信小程序(微信应用号)的内测通知.整个朋友圈瞬间便像炸开了锅似的,各种揣测.介绍性文章在一夜里诞生.而真正收到内测邀请的公众 ...

  6. 快速了解微信小程序的使用,一个根据小程序的框架开发的todos app

    微信官方已经开放微信小程序的官方文档和开发者工具.前两天都是在看相关的新闻来了解小程序该如何开发,这两天官方的文档出来之后,赶紧翻看了几眼,重点了解了一下文档中框架与组件这两个部分,然后根据简易教程, ...

  7. 来自于微信小程序的一封简讯

    9月21晚间,微信向部分公众号发出公众平台-微信应用号(小程序)的内测邀请,向来较为低调的微信在这一晚没人再忽视它了. 来自个人博客:Damonare的个人博客 一夜之间火了的微信应用号你真的知道吗? ...

  8. 微信小程序前端源码逻辑和工作流

    看完微信小程序的前端代码真的让我热血沸腾啊,代码逻辑和设计一目了然,没有多余的东西,真的是大道至简. 废话不多说,直接分析前端代码.个人观点,难免有疏漏,仅供参考. 文件基本结构: 先看入口app.j ...

  9. 微信小程序初探

    做为码农相信大家最近肯定都会听到微信小程序,虽然现阶段还没有正式开放注册,但大家可以还是可以开发测试. 到微信的WIKI(http://mp.weixin.qq.com/wiki?t=resource ...

  10. 【微信小程序开发】之如何获取免费ssl证书【图文步骤】

    微信小程序要求所有网络请求都走ssl加密,因此我们开发服务端接口需要配置为https 这篇文章介绍一下如何 在 startssl 申请一个免费的ca证书. 1. 打开网站  https://www.s ...

随机推荐

  1. java使用apache-commons-lang3生成随机字符串(可自定义规则)

    在日常开发中,我们经常会遇到生成随机字符串的需求.可能是大小写字母+数字,也可能是其他各种字符.作为一个常用功能,我们完全没必要自己实现,有很多优质的类库已经做的很完善了.本文介绍的就是apache- ...

  2. MySQL 学习(四)并集查询

    联合查询,它是用 union 关键字把多条 select 语句的查询结果合并为一个结果集.纵向合并的前提是被合并的结果集的字段数量.顺序和数据类型必须完全一致.字段名不一样的情况下,会将第一个结果集的 ...

  3. grep展示相邻行

    grep搜索展示匹配行的上面或下面相邻的行: # grep -A 1 pattern file -A选项,是 After 的缩写,表示除了展示匹配行之外,还要展示出匹配行下面的若干行.而示例中的 -A ...

  4. 关于github的自动化检测

    github 中的 Some checks were not successful什么意思呢?   在 GitHub 上,当您向存储库提交拉取请求时,如果存在自动化的检查(例如CI/CD)或在 pul ...

  5. Leecode剑指 Offer 07. 重建二叉树

    输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inor ...

  6. 基于ipset的dns代理

    ###基于源IP的dns白名单 sleep 60s/etc/init.d/firewall restart ###创建ipset集合 命名为src_dns_whitelist#清空原有命名为src_d ...

  7. Oracle JDK 和 OpenJDK 有什么区别?

    OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的"开源"是通常意义上的源码开放形式,即源码是可被复用的,例如IcedTea.UltraViolet都是从Ope ...

  8. ICPC2021 沈阳站

    B-Bitwise Exclusive-OR Sequence 牛客网 题意:对于\(n(n<=1*10^5)\)个数的序列,给定\(m(m<=2*10^5)\)个限制条件,每个限制条件形 ...

  9. protobuf如何还原proto源文件及描述字符串中左括弧的意义

    语法分析 和通常的有语法的结构一样,proto的编译也经过词法(tokenize)和语法(parse)两个阶段,相关代码分别在tokenizer.cc和parser.cc两个文件中. /// @fil ...

  10. view 相关代码片段笔记

    代码中动态创建view,并把AttributeSet加入到当前自定义的view中,动态创建属性相关 //https://blog.csdn.net/chenhuakang/article/detail ...