文章目录

小程序与普通网页开发的区别


  1. 网页开发渲染线程和脚本是一个过程,而小程序二者是分开的,分别运行在不同的线程
  2. 网页开发者可以操作DOM和BOM,小程序缺少操作DOM和BOM的方法,导致了例如JQuery,Zepto等在小程序中无法运行
  3. 小程序的运行环境与nodejs环境也不相同,所以一些npm的包在小程序中也是无法运行的
  • 从小程序基础库版本2.2.1开始支持使用npm安装第三方包

小程序开发流程


  1. 注册小程序账号
  • 为了获取AppID,AppID就显示我们的身份证一样,是唯一的而且很重要,后续的所有开发流程会基于这个AppID来完成
  • 直接在微信小程序的官网注册
  • 通过微信公众号注册

    条件是已经有微信公众号(并且企业级,个人不可以)
    优点是如果公众号已经认证过了,小程序不需要再次认证,省去了认证时间和费用

  1. 安装开发者工具
  2. 开发/测试/上传代码(上传到微信服务器)
  3. 提交审核
  4. 发布上线 发布小程序以后,我们才可以在微信中搜索到我们开发的小程序
  5. 错误查询/性能监控 登录官网->开发->运维中心

如何让vscode支持编写小程序代码


微信开发者工具的安装及使用


注意实现


  1. 小程序项目中不能嵌套小程序项目
  2. 创建小程序项目,不能是云开发,代码块

快速创建一个小程序


  • 有AppID 官网-> 开发-> 开发设置->中找到AppID
  • 没有AppID, 我们可以使用小程序提供的测试号

小程序的目录结构


  1. pages 这里的每个文件夹都代表一个小程序的页面
  2. app.js 全局逻辑代码
  3. app.json 全局配置文件
  4. app.wxss 全局样式文件

小程序4种文件类型


  1. js逻辑文件
  2. json 配置文件
  3. wxml 小程序框架设计的,套标签语言,结合小程序基础组件,事件系统可以构建出页面结果
  4. wxss 小程序样式文件

js


  1. 脚本执行顺序
    当app.js执行结束后,小程序会按照开发者在app.json中定义的pages的顺序,逐一执行
  2. 作用于 同浏览器中运行的脚本文件有所不同,小程序的脚本的作用域同nodejs更为相似,在文件中什么的变量和函数只在该文件中有效,不同的文件中可以声明相同名字的变量和函数,不会互相影响

WXSS


  1. 小程序的尺寸单位rpx 可以根据屏幕宽度进行自适应, 规定屏幕宽度750px,如果在iphone6上,屏幕宽度为375物理像素, 则750rpx = 375px,,1rpx = 0.5物理像素
  2. 定义在app.wxss中的样式为全局样式,它会被注入到每个小程序页面中,在page的wxss文件中定义的样式为局部样式,只作用在对应的页面,并会覆盖app.wxss中相同的配置
  3. 样式导入 在css中,开发者可以这样应用另一个样式文件: @import url('./app.css') 在小程序中,我们依然可以这样实现引用写法是 @import './app.css'
    官方样式库: 点我
  4. 选择器 小程序目前支持的选择器有:
选择器 样例 描述
.class .intro 选择所有拥有class="intro"的组件
#id #firstname 选择拥有 id="firstname" 的组件
element view 选择所有view组件
element,element view,checkbox 选择所有的view和checkbox组件
::after view::after 在view组件后插入
::before view::before 在所有view组件前插入

image组件


image组件默认宽度300ox,高度225px(320 * 240)

注意: 如果我们想让image组件上的高度随宽度等比例自适应,应该给image设置mode例如:


text组件

除了文本节点以外的其他节点都无法长按选中

数据绑定

  1. 内容
{{message}}
  1. 属性

  1. 运算符
1112

事件绑定及事件处理函数


事件是视图层到逻辑层得通讯方式,可以将用户的欣慰反馈到逻辑层处理
事件对象是可以携带额外信息如:id,dataset

  • 事件分类
    • 冒泡事件
    • 非冒泡事件
      -事件绑定
    • 事件绑定得写法同组件得属性,以key,value得形式

    key 以bind或者catch,然后跟上事件得类型,如bindtap、catchtap
    ** bind事件绑定不会阻止事件冒泡,catch事件绑定可以阻止冒泡事件向上冒泡**

  • 事件对象
    • type代表事件类型
    • tagName 当前组件得类型
    • dataset 事件源组件上又data-开发得自定义属性得集合

以data-开头、多个单词由-链接,大写会自动转小写,驼峰-后首字母会自动大写

tabbar

  "tabBar": {
    "color": "#000000", // 未被选中时得颜色
    "selectedColor": "#000000", // 选中时文字颜色
    "borderStyle": "black", // 上边框
    "position": "bottom", // tabBar位置
    "backgroundColor": "#ffffff", // tabBar背景颜色
    "list": [{ // tabBar列表 最少两项,,最多五项
      "pagePath": "pagePath",  // 选项路径
      "text": "text", // 选项文字
      "iconPath": "iconPath", // 选中前icon
      "selectedIconPath": "selectedIconPath" // 选中后icon
    },
    {
      "pagePath": "pagePath",
      "text": "text",
      "iconPath": "iconPath",
      "selectedIconPath": "selectedIconPath"
    }]
  }

路由


  1. wx.switchTab 跳转到tabBar页面,并关闭其他所有非tabBar页面
  2. wx.relaunch 关闭所有页面并打开指定页面
  3. wx.redirectTO 关闭当前页面,跳转到应用内某个页面,但是不允许跳转到tabBar
  4. wx.navigateTo 保留当前页面,跳转到应用内的某个页面,但是不能跳转到tabBar页面,使用wx.navigateBack 可以返回原页面,小程序中页面栈最多十层
  5. wx.navigateBack 关闭当前页面,返回上一页面或多级页面,可通过getCurrentPages获取当前的页面栈,决定需要返回几层

页面的生命周期

  • onload 监听页面加载 只在页面初始化时候加载一次
  • onshow 监听页面显示 每次显示页面都会执行
  • onReady 监听页面初次渲染完成
  • onHide 监听页面隐藏
  • onUnload 监听页面卸载

转发

只有在页面js中监听了 onShareAppMessage 方法右上角才会有转发

  • 自定义转发内容

只需要在时间处理函数中return一个对象

/**
   * 用户点击右上角分享
*/
  onShareAppMessage: function () {
    console.log('分享');
    return {
      title:'自定义title',
      path: '/pages/index/index',
      imageUrl: "https://www.baidu.com/img/bd_logo1.png?where=super"
    }
  }
  • 默认转发内容

如果我们没有在事件中return转发的内容,小程序会默认把当前页面的标题、路径及页面截图返回

<以上资讯仅供参考,如果您需解决具体问题,建议您关注作者;如果有软件产品开发需求,可在线咨询加速度产品经理获取方案和报价>

****更多行业产品开发方案,请关注jsudo加速度 https://www.jsudo.com***

【加速度jsudo(www.jsudo.com)】是国内知名企业数字化建设提供商,为企业提供电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售等)、智慧园区建设、数字化营销、人才外包等服务,点击这里查看了解更多行业解决方案。