wx小程序基本使用

文章目录
1.目录结构
2.引入Vant
3简单的双向数据绑定
4.路由跳转
5.事件
6.请求接口数据
7.组件分装
8.生命周期钩子函数
9.使用promise分装wx.request
10.本地存储的使用
1.目录结构

1.pages目录
	新增页面并进行配置
2.utils目录
	我们工具脚本文件
3.app.js
	全局逻辑脚本
4.app.wxss
	全局样式文件
5.app.json
	全局配置文件

2.引入Vant

1.npm init 初始化
2.npm install  --production
3.npm i @vant/weapp -S --production
4.然后点击工具/构建npm,构建完成,会生成 miniprogram_npm 文件夹
5.在需要的文件里面引入
"usingComponents": {}

3简单的双向数据绑定

1.普通的属性是单向的如:<input value="{{value}}" />
1.1需要使用this.setData({ value: 'leaf' }) 来更新
2.<input model:value="{{value}}" />

4.路由跳转

//编程式跳转
XXXXX: function () {
	wx.navigateTo({
	url: "../logs/logs",
	})
},
//标签跳转,相当于a标签
<navigator url="/page/navigate/navigate"跳转到新页面</navigator>

//open-type
navigator 跳转到//是开启一个新页面,那个页面是隐藏了
redirect 重定向
switchTab 跳转到某个tab
navigateBack 回退
reLaunch 重加载

//API跳转
wx.navigateTo(object) (有返回键,不可以跳转到tabBar页面)
wx.redirectTo(object) ( 只可以跳转tabBar 页面, 没有返回,但有首页按钮)
wx.switchTab(object) (没有返回键,只能跳转到tabBar页面,不可以携带参数)
wx.navigateBack(object) (应用在目标页面, delta值为1 ,表示跳转上一页,2表示跳两级)
wx.reLaunch(object) (跳转任意页面, 没有返回, 有 首页 按钮)
wx.onunload(object) (关闭所有页面,打开到应用内的某个页面)

5.事件

1.bindtap(当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数)
2.

6.请求接口数据

let that=this
wx.request({
      url: '', 
      data: {},
      method: 'get',
      header: {
        'content-type': 'application/json' // 默认值
      },
      success(res) {  //要注意this指向
        that.setData({})
      }
    })

7.组件分装

1.根目录下创建一个components目录
2.在components目录下创建w-swiper目录
3.在js文件里面配置
	 properties: {
		变量名:{
		  type:数据类型,
		  value:默认值
		}
	  },
4.在pages文件夹里面需要的文件里的json文件里添加
	"usingComponents": {
	    "w-swiper":"/components/w-swiper"
	 }
5.在wxml文件写入

8.生命周期钩子函数

1.onLoad// 生命周期函数--监听页面加载
2.onReady// 生命周期函数--监听页面初次渲染完成
3.onShow// 生命周期函数--监听页面显示
4.onHide// 生命周期函数--监听页面隐藏
5.onUnload // 生命周期函数--监听页面卸载
6.onPullDownRefresh // 页面相关事件处理函数--监听用户下拉动作
7.onReachBottom // 页面上拉触底事件的处理函数

9.使用promise分装wx.request

1.在跟目录写创建一个http文件夹
2.在文件夹里写入fetch.js和http.js文件
3.在fetch.js里进行promise的分装
	module.exports=(url,method,data)=>{
	  return new Promise((resolve,reject)=>{
	    wx.request({
	      url: url,
	      method:method,
	      data:Object.assign({},data),
	      header:{'Content-Type': 'application/text' },
	      success(res){
	        resolve(res)
	      },
	      fail(err){
	        reject(err)
	      }})})}
4.在http文件里进行api分装
	const evn=require('../env/index.js')
	const fetch = require('./fetch')
	//确定开发环境
	let baseUrl=“地址”
	let banner="/后缀"
	//如果接口需要token鉴权,获取token
	let token=wx.getStorageSync('token');
	//轮播请求函数
	function banner(){
	  return fetch(baseUrl+banner,'get',{})
	}
	module.exports={
	  banner
	}
5.在全局app.js中导入http,注册到根组件
	const http=require('./http/http.js')
	App({
	  http,
	})
6.在具体页面的js文件里导入
	const app = getApp();		//获取应用实例
	Page({
	  data: {
	   list:[]
	  }
	onLoad: function () {
	    app.http.banner().then((res)=>{
	                this.setData({
	                    list: res.data.list
	        })    })
	}

10.本地存储的使用

1.存 wx.setStorageSync('key', 'value')
2.取 wx.getStorageSync('key')
3.移除指定的值wx.removeStorageSync('key')
4.获取当前 storage 中所有的 key,wx.getStorageInfoSync()
5.清除所有的key,wx.clearStorageSync()
异步操作
1.存 wx.setStorage({key:"key",data:"value"})
2.取  wx.getStorage({key: 'key',success (res) {console.log(res.data)}})
3.移除指定的值 wx.removeStorage({key: 'key',success (res) {console.log(res)}})
4.获取当前 storage 中所有的 key,wx.getStorageInfo({success (res) {console.log(res.limitSize)}})
5.清除所有的key,wx.clearStorage()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值