微信小程序

微信小程序文件介绍

pages目录 用于存放所有的页面

utils目录 用于存放工具类文件

app.js是入口文件,程序运行时,首要执行该文件

app.json是全局配置文件,用于配置小程序的信息

app.wxss是全局样式文件

project.config.json是项目配置文件

sitemap.json是SEO配置文件

每个页面有四个文件

xxx.wxml文件,就相当与一个html文件

xxx.wxss文件,就相当与一个css文件

xxx.js文件,是交互文件

xxx.json,是页面配置文件 (当前页面)


wxml

view就相当于html的div

text就相当于html的span

swiper是滑块视图容器,它里面只能放swiper-item组件

scroll-view

可滚动视图区域。使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx/px)。

scroll-x:允许横向滚动。

scroll-y:允许纵向滚动。

image是图片组件,注意:最好全部采用网络图片(图片的地址),因为小程序总体积不能超过2MB

{ { } }是插值表达式这里可以直接使用js里面定义的数据

wx:for指令用于循环列表,循环出来的每一项通过item返回,每一项对应的索引,通过index返回

循环列表时wx:key的好处,奖励列表发生变化时重新渲染列表的损耗更低


循环列表


定义的页面数据

bindtap=""是触击事件,其实就相当于网页中的点击事件


条件判断

wx:if wx:elif wx:else 指令用于判断条件,满足条件显示上面的组件。

wx:if 是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。

相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。

<view hidden="{{flag ? true : false}}"> Hidden </view>

一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。

<view class="item {{i%2===0?'blue':''}}" style="color:{{i%2===0?'red':''}}">

更多标签组件:https://developers.weixin.qq.com/miniprogram/dev/framework/


wxss

在wxss中,最好不要写标签选择器和id选择器,统一写类选择器

calc()函数,是css3中计算尺寸的函数

calc(100vw/1080*420)  //1080*420是图片的尺寸  自适应屏幕的尺寸

为了让小程序里面的内容在各种设备上能够自适应显示微信推出了响应式单位:rpx,在iphone中2rpx=1px


js

page()函数,返回页面对象,该函数需要传一个配置参数,这个配置参数是一个对象

这个配置对象中,定义当前页面所有内容

data选项,定义页面的数据

生命周期函数--监听页面加载

 onLoad: function (options) {

  }

// 生命周期函数--下拉刷新函数

onPullDownRefresh:function(){

}


下拉刷新函数

// 生命周期函数--上拉触底函数

 onReachBottom:function(){ 

}

上拉触底函数

//更新页面信息

this.setData({

})


tabBat

在app.json文件中添加tabBar节点。

color:tab上的文字默认颜色,仅支持十六进制颜色。

selectedColor:tab上的文字选中时的颜色,仅支持十六进制颜色。

backgroundColor:tab的背景色,仅支持十六进制颜色。

borderStyle:tabbar上边框的颜色, 仅支持 black / white。

position:tabBar的位置,仅支持 bottom / top。

custom:自定义tabBar。

list:tab的列表。

list 接受一个数组,只能配置最少 2 个、最多 5 个 tab。

pagePath:页面路径,必须在 pages 中先定义。

text:tab 上按钮文字。

iconPath:图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。

当 position 为 top 时,不显示 icon。

selectedIconPath:选中时的图片路径,icon 大小限制为 40kb,建议尺寸为 81px * 81px,不支持网络图片。

当 position 为 top 时,不显示 icon。

tabBat

导航栏图标地址:iconfont.cn

 跳转

navigator组件,用于页面链接,默认只能跳转普通页面。

如果要跳转tabBar页面,需要设置open-type="switchTab"。

<navigatorurl="/pages/details/details">详情</navigator><navigatoropen-type="switchTab"url="/pages/menu/menu">菜单</navigator>

代码跳转:

跳转到普通页面

wx.navigateTo({url:'/pages/details/details',})

跳转到tabBar页面

wx.switchTab({url:'/pages/menu/menu',})

使用方法跳转页面的好处是:在跳转之前可能需要做其他事情,比如:验证权限等等。

确认框和消息框

确认框:

wx.showModal({

title:”标题”,

success:res=>{}

})

消息框:

wx.showToast({

title:”标题”,

duration:1000

})

封装方法

确认框方法:

// 定义消息框方法,并导出

export let $msg = (title,icon='success',duration=1500)=>{

  // showToast()方法,打开消息框

  wx.showToast({

    //消息框的内容

    title,

    //消息框的图标

    icon,

    //消息框显示时间

    duration,

    //显示遮罩层

    mask:true

  })

}

消息框方法:

// 定义确认框方法,并导出

export let $confirm = (content)=>{

  return new Promise((resolve)=>{

    //showModal()方法,打开确认框

    wx.showModal({

      content,

      success:({confirm})=>{

        //confirm返回true,表示点击的是确定按钮,否则是取消按钮

        if(confirm){

          resolve()

        }

      }

    })

  })

}

使用封装的方法

import是ES6的导入语句。

import {confirm,confirm,key,$msg} from '../../utils/util'。

将这些工具方法注册给wx对象wx对象是微信小程序的全局对象,在任何地方都可以使用。wx.msg =msg=msg

wx.confirm =confirm=confirm

wx.key =key=key

在app.js入口文件中导入import './utils/util'


util/msg.js


util/index.js


app.js


文件的位置
使用实例

发送请求

GET请求


创建一个config配置文件


请求封装


get和post进一步封装


把封装好的方法添加到总js文件中

时间戳的处理

wxs处理方法


导入wxs文件
wxs
js处理方法


js

Vant第三方组件

下载微信小程序第三方组件库

1.使用 npm init  创建一个自己的包

2.在终端中输入下载 npm i @vant/weapp -S --production

注意:详情中需要勾选  (使用第三方模块)

3.修改 app.json 将 app.json 中的 "style": "v2" 去除

4.点击工具 => 构建npm

注意:如过构建成功会在项目文件夹中出现一个新的目录

下载及使用详情:https://youzan.github.io/vant-weapp/#/home


引入

在app.json(全局引入)或index.json(单个页面中引入)

引入实例
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • 一、创建项目 1、准备工作 微信公众平台注册开发者账号:https://mp.weixin.qq.com/[htt...
    一个想读书的人阅读 1,188评论 0 1
  • 微信小程序 一、创建项目 1、准备工作 微信公众平台注册开发者账号:https://mp.weixin.qq.co...
    元肖阅读 467评论 0 2
  • 一、创建项目 1. 准备工作 注册开发者账号 安装小程序开发工具 创建项目 2. 认识项目目录 pages 是存放...
    温木阅读 545评论 0 1
  • 微信小程序账号与工具 在线文档:https://mp.weixin.qq.com/debug/wxadoc/dev...
    小青年coder阅读 1,108评论 0 1
  • 每天的学习记录,可能有的地方写的不对,因为刚学,以后发现错的话会回来改掉整体流程 https://develope...
    有点健忘阅读 4,663评论 0 7