微信小程序开发基础知识

vscode配置

  • vscode开发微信小程序安装的插件:
  1. wechat-snippet
    微信小程序代码辅助,代码片段自动完成
  2. minapp
    微信小程序标签、属性的智能补全(同时支持原生小程序、mpvue 和 wepy 框架,并提供 snippets)
    需要输入才会触发标签补全
    输入空格会触发对应标签的属性补全
  3. wxapp-helper
    选择创建wx组件,自动生成配套的文件,简直不要太爽

微信小程序目录

结构对比

基本项目目录

列表渲染

  • 普通数组
list:[1,2,3,4,5]
wx:key="*this"
  • 复杂的数组
<view wx:for="{{array}}" wx:key="id">
 {{index}}: {{item.message}}
</view>
Page({
  data: {
    array: [{
      id:0,
      message: 'foo',
   }, {
      id:1,
      message: 'bar'
   }]
 }
})

条件渲染

<view wx:if="{{false}}">1</view>
  <view wx:elif="{{true}}">2</view>
  <view wx:else>3</view>
<view hidden="{{condition}}"> True </view
属性会被覆盖

事件绑定

  • 输入框内容发生改变的时候会触发handleInput函数,并且传过去event事件对象
//不能带参数,因为微信小程序会把方法名和后面的括号和参数当做方法名的一部分
<input bindinput="handleInput" />
Page({
data:{
num: 0
},
  // 绑定的事件
  handleInput: function(e) {
    console.log(e);
    console.log("值被改变了");
    //赋值
    this.setData({
        num:e.datail.value
    })
 }
})
  • 点击事件 bindtab
//传参的话只能是通过自定义属性来获取,这个属性在事件对象里面
<button bindtab="btnClick" data-operation="{{1}}">点击</button>

样式WXSS

  • 不支持通配符 *
  • 尺寸单位:css里面使用 calc(),
    rpx (responsive pixel): 可以根据屏幕宽度进⾏⾃适应。规定屏幕宽为 750rpx 。如在
    iPhone6 上,屏幕宽度为 375px ,共有750个物理像素,则 750rpx = 375px = 750物理像
    素 , 1rpx = 0.5px = 1物理像素 。
  • 全局样式导入到局部的样式文件里面用 @import
//使用相对路径
@import "common.wxss";

常见组件

  • view就类似于以前的div
  • text 相当于span
    1. ⽂本标签
    2. 只能嵌套text
    3. ⻓按⽂字可以复制(只有该标签有这个功能)
    4. 可以对空格 回⻋ 进⾏编码
  • image 默认( 320px * 240px )

  • switer 轮播图
    轮播图的外层容器 swiper
    每一个轮播项 swiper-item
    swiper标签存在默认的样式:
    width:100%=100vw ------height:150px
    所以要给swiper根据图片设置高度
    swiper宽度 / swiper高度 == 图片宽度 / 图片高度
    自动轮播:
    swiper标签设置 autoplay

  • navigator 类似于超链接标签(块级元素)
    默认不能跳转到tabbar绑定的页面上
  • rich-text 富文本标签
    可以将字符串解析成 对应标签,类似 vue中 v--html 功能
<rich-text nodes='<img
src="https://developers.weixin.qq.com/miniprogram/assets/images/head_global_z_@all.p
ng" alt="">'></rich-text>
  • button
    开发能力 open-type属性值

    获取到的电话号码是加密过的,需要自己搭建后台进行解密
  • radio,需要配合 radio-group 使用
    radio可以设置color属性
  • checkbox 要配合 checkbox-group 里面



自定义组件

使用方法,注意谁实用就在谁的配置文件里面使用
  • 数组传递之父传子


  • 数据之子传父



小程序的生命周期函数

应用生命周期
  • onPageNotFound 作用
    如果页面不存在了,通过js的方式来跳转页面,重新调到第二个首页,但是不能跳转到tabbar页面,和导航组件相似
页面生命周期

小程序框架

  • 原生框架 mina


请求参数

本地缓存

  • 不同于web缓存的是,小程序以什么格式进行缓存,那去除的时候就是以什么格式取出
  • 将数据村到本地
//讲数据放入到本地缓存中
      wx.setStorageSync('cates', { time: Date.now(), data: this.categories })
  • 读取本地的缓存
if (Date.now() - Cates.time > 1000 * 10) {
        this.getCategoryData()
      } else {
        //用旧数据
        this.categories = Cates.data
        this.setData({
          leftMenus: this.categories.map((item) => {
            return item.cat_name
          }),
          rightContent: this.categories[0].children,
        })
      }

css四行代码不换行

            display: -webkit-box;
            overflow: hidden;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 3;

处理webp格式的图片

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