Skip to content

基本语法一

一、小程序与页面生命周期

image


二、wx:for 与 wx:if=“true”

wx:for默认遍历对象为item, 下标为index 指定:wx:for-item="diyItem" ———— wx:for-index=“diyIndex” image

三、路由跳转与传值

路由跳转

js
// 注意下面两个区别
// wx.navigateTo({ url: '/pages/index/index?id=' + xxxId }) // 有返回按钮,调用onHide生命周期
 wx.redirectTo({ url: '/pages/index/index' }) // 无返回按钮,有主页按钮,调用onUnload生命周期

内置组件跳转

html
<view>
  <text class="title">这是第二页</text>
  <!-- 相当于a标签 -->
  <navigator url="../home/home">前往首页</navigator>
</view>

在onLoad中的可获取传值

image


四、事件绑定:bindtap与catchtap

常用事件

  • tap:点按
  • longpress:长按(350ms). 如果指定了该事件的回调函数并触发了该事件,tap事件将不被触发
  • touchstart:触摸开始
  • touchmove:触摸后移动
  • touchend:触摸结束
  • touchcancel:触摸动作被打断,如来电提醒,弹窗等

bind:tap=“handlexxx” // 新版写法(老版兼容)

catchtap绑定点击事件并阻止事件冒泡【事件说明

image

事件绑定

js
// index.wxml
// bind:EventName 绑定事件语法
<view>
  <text class="title">hello {{name}}</text>
  <button bind:tap="buttonHandler">点击</button>
</view>

// index.js
Page({
  data: {
    name: '张三'
  },
  buttonHandler(event) { // event原生事件对象
    // this指向页面实例
    this.setData({
      name: '李四'
    }, () => {
      console.log('在回调中,页面已更新完毕~')
    })
  }
})

setData说明

Page.prototype.setData({...}, cb)

  • 修改this.data中的数据是同步的,页面渲染时异步的. cb是界面更新渲染完毕后的回调函数
  • 仅支持设置可 JSON 化的数据
  • 不要把 data 中任何一项的 value 设为 undefined ,否则这一项将不被设置并可能遗留一些潜在问题。

五、本地缓存的使用

上限为10M

js
// +sync为同步方法
wx.setStorageSync('key', 'value') // value可以是对象
// 获取
wx.getStorageSync('key')
// 删除
wx.removeStorageSync('key') // 删除一个
wx.clearStorageSync() // 删除所有的