小程序目录结构

  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学习Day11】变量种类及命名规范

    变量 变量是什么:就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 type varName [=valu ...

  2. CSS入门学习笔记

    CSS入门学习笔记一.CSS简介1.什么是CSS?2.为什么使用CSS?3.CSS的作用二.CSS语法1.CSS基础语法2.CSS注释语法3.CSS应用方法三.CSS选择器1.元素选择器2.类选择器3 ...

  3. oracle学习之undo读一致性及undo表空间设置大小

    1.一致性读和事务 一个事务开始以后,分配undo段头事务表和undo块,事务表指向undo块,数据块中有事务槽,底下有数据行,数据块事务槽中事务ID指向事务表,事务表指向undo块,数据块事务槽也指 ...

  4. fetchAll 的小小分析

    includes\database\prefetch.inc line 425 $this->defaultFetchStyle: fetch_object int 5protected $de ...

  5. 关于sql时间方面的处理

    查询大于时间两小时(例:订单设置两小时后过期 $res = Order::where(['status'=>0,'sid'=>1])->whereRaw("created_ ...

  6. C语言学习---星花与取地址&----以及多级指针

    #include<stdio.h> int main { //对一个表达式加* , 就会对表达式减一级星花*, //如果对表达式取&, 就会加一级* int* p; int** q ...

  7. 本地Map缓存

    package com.cars.forwardservice.controller;import org.springframework.stereotype.Controller;import o ...

  8. Java数组之什么是数组?+ 数组的声明和创建

    数组 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排序组合而成. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组声明创建 首先 ...

  9. jmeter中返回值提取并存储。

    jmeter中,关于对接口提取值如何存入CSV文件并且做到换列操作的处理.我这里简单介绍一下. 1.首先把接口调通(这个是必须条件),确认好需要提取存入csv的字段,这里以统计token跟userid ...

  10. react ref用法更新

    react中ref的3种绑定方式 方式1: string类型绑定 类似于vue中的ref绑定方式,可以通过this.refs.绑定的ref的名字获取到节点dom 注意的是 这种方式已经不被最新版的re ...