微信小程序知识

本文详细探讨了微信小程序的优势,如微信内置入口丰富、使用便捷、体验接近原生应用及低成本,同时也分析了其局限性,如包大小限制、审核流程繁琐及功能限制。文章深入讲解了小程序的目录结构、数据引用、逻辑渲染、模板引用和生命周期,并介绍了常见交互反馈设计、本地存储、页面跳转、参数传递、HTTP请求的使用以及开放能力,如网络状态检测、扫码、分享和自定义组件。此外,还阐述了瀑布流布局的实现及上拉刷新、触底加载功能。
摘要由CSDN通过智能技术生成

一、微信小程序的优势和劣势
优势
(1)微信助理,容易推广。在微信中,小程序拥有众多入口,例如附近的小程序、小程序码、分享、发现-小程序等五十多个的入口。这些入口有助于企业更好的获取流量,从而进行转化、变现。
(2)使用便捷。用户在使用小程序时,只需要轻轻点一下就可以使用,更加符合用户对使用方便、快捷的需求,所以小程序的用户数量不断增加。
(3)体验良好,有接近原生app的体验。在微信生态里,小程序在功能和体验上是可以秒杀掉 H5 页面的,H5 页面经常出现卡顿、延时、加载慢、权限不足等原因,而这些问题在小程序里都不会出现。
(4)成本更低,从开发成本到运营推广成本,小程序的花费仅为APP的十分之一,无论是对创业者还是传统商家来说都是一大优势。
不足

(1)单个包大小限制为2M,这导致无法开发大型的应用,采用分包最大是20M(这个值一直在变化,以官网为准)。
(2)需要像app一样审核上架,这点相对于H5的发布要麻烦一些。
(3)处处受微信限制。例如不能直接分享到朋友圈,涉及到积分,或者虚拟交易的时候,小程序也是不允许的。

二、项目的目录结构

pages:
wxml: 编写小程序界面结构的地方
wxss: 编写小程序样式的地方
json:编写界面配置的地方
js:编写界面逻辑的地方
utils: 编写工具类的地方
app.js:创建程序实例的位置
app.json: 编写全局配置地方
app.wxss: 编写全局样式的地方
project.config.json: 项目的配置文件
sitemap.json:配置哪些网站可以被检索到

三、
引用数据

通过{ {}}的方式可以引用数据。

小程序中任何需要获取数据的地方都需要用{ {}},包括标签内的属性。

逻辑渲染

WXML 中,使用 wx:if="{ {condition}}" 来判断是否需要渲染该代码块:

<view wx:if="{ {condition}}"> True </view>

使用 wx:elif 和 wx:else 来添加一个 else 块:

<view wx:if="{ {length > 5}}"> 1 </view>

<view wx:elif="{ {length > 2}}"> 2 </view>

<view wx:else> 3 </view>

列表渲染

在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item。

使用 wx:for-item 指定数组当前元素的变量名,使用 wx:for-index 指定数组当前下标的变量名。

使用 wx:key 来指定列表中项目的唯一的标识符。

字符串,代表在 for 循环的 array 中 item 的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。
保留关键字 this 代表在 for 循环中的 item 本身,这种表示需要 item 本身是一个唯一的字符串或者数字。

模板的引用

WXML 提供两种文件引用方式import和include。

app.js的生命周期

onLaunch: 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
onShow:当小程序启动,或从后台进入前台显示,会触发 onShow
onHide:当小程序从前台进入后台,会触发 onHide
onError:当小程序发生脚本错误,或者 API 调用失败时,会触发 onError 并带上错误信息。
page中的生命周期

onLoad:生命周期函数--监听页面加载,触发时机早于onShow和onReady

onReady:生命周期函数--监听页面初次渲染完成

onShow:生命周期函数--监听页面显示,触发事件早于onReady

onHide:生命周期函数--监听页面隐藏

onUnload:生命周期函数--监听页面卸载

全局数据的定义以及获取

1.定义:app.js中的globalData中定义全局变量

2.获取:在其他JS中可以通过getApp()获取App实例,之后可以获取到定义在App实例上的数据。

一、 常见的交互反馈设计
1.使用button组件的loading属性,在按钮的文字前边出现一个Loading

2.wx.showToast显示提示(一般搭配wx.hideToast使用)

3.wx.showModal模态对话框

二、本地存储
(一)同步
1.存储:wx.setStorageSync('list', {age:5})

2.获取:wx.getStorageSync('list')

  //本地同步缓存
  syncSet(){
    console.log('这是同步缓存');
    wx.setStorageSync('sync', {content:'这是同步缓存'})
  },
  //本地同步获取
  syncGet(){

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值