微信小程序开发个人笔记(2)

这篇博客详细介绍了微信小程序的开发流程,从注册、下载官方工具到理解文件结构。重点讲解了小程序的基础知识,包括数据绑定、列表渲染、条件渲染、模板使用以及文件引用等,并提供了官方文档链接作为参考资料。
摘要由CSDN通过智能技术生成

微信小程序开发基础笔记

官方文档:微信官方文档 | 微信开放文档 (qq.com)

一、注册等

首先需要注册一下平台(Appid开发者d 和上传管理等都需要)

微信公众平台 (qq.com)(找不到就点这个 小程序 (qq.com)

我的Appid:----------------------

二、 工具

1、下载微信官方小程序开发工具

https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)

三、文件结构
四、指南(其实是不知道该放在那一块的知识)

有啥不会的去官网看,官网地址在笔记开头

1、常用单位 ‘ rpx ’

2、推荐使用 flex布局方式

五、框架-组件-API

1、 标签 相当于 html 中的div

2、 标签 相当于 html 中的span

3、

​ 用于展示微信开放的数据(获取用户头像昵称等信息)
​ 现在已经调整了,在开发工具中可以获取到,但是真机上还是需要用 button 的 open-type属性
​ 详情见:button | 微信开放文档 (qq.com)

4、绑定事件

// 绑定事件例子
<view bindtap="{{事件处理函数}}">点击事件处理</view>
/**
 使用 bind 来绑定事件
 tap事件 手指触摸后马上离开  (类似click点击事件)
*/

5、路由跳转

  • wx.redirectTo(Object object)

    // 例子
    // dom 创建点击事件
    <button bindtap="tohome">跳转</button> 
    
    tohome(){
        // wx.navigateTo({})带返回按钮
        wx.navigateTo({
        // 注意:这里url 必须是根目录app.json下pages数组中存在的
           url: '/pages/index/index', // 注意路径前加 “/”
         })
      },
    
  • wx.navigateTo(Object object)

    // 例子
    // dom 创建点击事件
    <button bindtap="tohome">跳转</button> 
    
    tohome(){
        // wx.redirectTo({}) 不带返回按钮  
        // 带一个返回首页(首页就是app.json中pages数组下第一个路径)
        wx.redirectTo({
        // 注意:这里url 必须是根目录app.json下pages数组中存在的
           url: '/pages/index/index', // 注意路径前加 “/”
         })
      },
    

6、轮播图


7、小程序默认启动首页

指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动、小程序列表启动等。如果不填,将默认为 pages 列表的第一项。不支持带页面路径参数。

// app.json 文件中
{
  "entryPagePath": "pages/index/index"
}

8、数据绑定

  • WXML 中的动态数据均来自对应 Page(js文件) 的 data

  • 简单绑定

    // 例子
    
    // wxml
    <view> {{ message }} </view>
    
    // js
    Page({
      data: {
        message: 'Hello MINA!'
      }
    })
    

    更多见官网:数据绑定 | 微信开放文档 (qq.com)

9、列表渲染(wx:for)

在组件上使用 wx:for 控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件。

默认数组的当前项的下标变量名默认为 index,数组当前项的变量名默认为 item

// 例子 
// wxml  与vue不同的是,不用写 item in 和 index 
<view wx:for="{{array}}">
  {{index}}: {{item.message}}
</view>

// js
Page({
  data: {
    array: [{
      message: 'foo',
    }, {
      message: 'bar'
    }]
  }
})

使用 wx:for-item 可以指定数组当前元素的变量名,

使用 wx:for-index 可以指定数组当前下标的变量名:

<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">
  {{idx}}: {{itemName.message}}
</view>

更多见官网:列表渲染 | 微信开放文档 (qq.com)

10、条件渲染(wx:if)

在框架中,使用 wx:if="" 来判断是否需要渲染该代码块:

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

也可以用 wx:elifwx:else 来添加一个 else 块:

<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>

block wx:if

因为 wx:if 是一个控制属性,需要将它添加到一个标签上。如果要一次性判断多个组件标签,可以使用一个 <block/> 标签将多个组件包装起来,并在上边使用 wx:if 控制属性。

<block wx:if="{{true}}">
  <view> view1 </view>
  <view> view2 </view>
</block>

更多见官网:条件渲染 | 微信开放文档 (qq.com)

11、模板(template)

WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用

定义模板

使用 name 属性,作为模板的名字。然后在<template/>内定义代码片段,如:

<!--
  index: int
  msg: string
  time: string
-->
<template name="msgItem">
  <view>
    <text> {{index}}: {{msg}} </text>
    <text> Time: {{time}} </text>
  </view>
</template>

使用模板

使用 is 属性,声明需要的使用的模板,然后将模板所需要的 data 传入,如:

<template is="msgItem" data="{{...item}}"/>

Page({
  data: {
    item: {
      index: 0,
      msg: 'this is a template',
      time: '2016-09-15'
    }
  }
})

is 属性可以使用 Mustache 语法,来动态决定具体需要渲染哪个模板:

<template name="odd">
  <view> odd </view>
</template>
<template name="even">
  <view> even </view>
</template>

<block wx:for="{{[1, 2, 3, 4, 5]}}">
  <template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/>
</block>

更多见官网:模板 | 微信开放文档 (qq.com)

12、引用、引入

WXML 提供两种文件引用方式importinclude

import

import可以在该文件中使用目标文件定义的template,如:

在 item.wxml 中定义了一个叫itemtemplate

<!-- item.wxml -->
<template name="item">
  <text>{{text}}</text>
</template>

在 index.wxml 中引用了 item.wxml,就可以使用item模板:

<import src="item.wxml"/>
<template is="item" data="{{text: 'forbar'}}"/>

include

include 可以将目标文件除了 <template/> <wxs/> 外的整个代码引入,相当于是拷贝到 include 位置,如:

<!-- index.wxml -->
<include src="header.wxml"/>
<view> body </view>
<include src="footer.wxml"/>

<!-- header.wxml -->
<view> header </view>

<!-- footer.wxml -->
<view> footer </view>

更多见官网:引用 | 微信开放文档 (qq.com)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值