IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 小程序 - 模板语法 -> 正文阅读

[移动开发]小程序 - 模板语法


一、小程序结构目录

在这里插入图片描述

1. 全局配置app.json

app.json 是当前?程序的全局配置,包括了?程序的所有??路径、界?表现、?络超时时间、底部tab等。
在这里插入图片描述

  1. pages 字段??于描述当前?程序所有??路径,这是为了让微信客?端知道当前你的?程序??定义在哪个?录。
  2. window字段?定义?程序所有??的顶部背景颜?,?字颜?定义等。
  3. tabBar字段 - 如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

2. 页面配置page.json

page.json其实?来表????录下的 page.json这类和?程序??相关的配置。
在这里插入图片描述

开发者可以独?定义每个??的?些属性,如顶部颜?、是否允许下拉刷新等等。
在这里插入图片描述

3. sitemap配置sitemap.json

小程序根目录下的 sitemap.json 文件用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象,如果没有 sitemap.json ,则默认为所有页面都允许被索引

二、小程序模板语法

text相当于span标签,行内元素
view相当于div标签,块元素
checkbox 复选框

1. 数据绑定

普通写法
在这里插入图片描述
在这里插入图片描述

2. 运算

<!--
  运算:
  1. 数字的加减
  2. 字符串拼接
  3. 三元表达式
-->
<view>{{1+2+3}}</view>
<view>{{'1' + '1'}}</view>
<view>{{isChecked ? true : false}}</view>

在这里插入图片描述

3. 列表渲染和对象渲染

1. 列表渲染

  1. 基本语法 : wx:for="{{数组或对象}}"
  2. wx:for-item : 指定数组当前元素的变量名, 不写默认为item
  3. wx:for-index :指定数组当前下标的变量名,不写默认为index
  4. wx:key :?来提?数组渲染的性能
<!--
  列表:books: ['js高级程序设计', 'css权威指南', 'html与css入门']
  列表循环
  1. wx:for="{{数组或对象}}"
  2. wx:for-item="项的名称"
  3. wx:for-index="下标的变量名"
  4. wx:key?来提?数组渲染的性能,必须是循环数组中唯一的值
-->
<view wx:for="{{books}}" wx:for-item="book" wx:for-index="index" wx:key="index">
  书名 :{{book}}
  索引 :{{index}}
</view>

在这里插入图片描述

2. 对象渲染

对象渲染时,
wx:for-item=“值”
wx:for-index=“键”

<!--
  person: {
    name: "张飞",
    age: 128,
    hobby: "俺也一样"
  }
  对象渲染
  1. wx:for="{{对象}}"
  2. wx:for-item="值"
  3. wx:for-index="键"
-->
<view wx:for="{{person}}" wx:for-item="value" wx:for-index="key">
  {{key}} -- {{value}}
</view>

在这里插入图片描述

4. block

渲染?个包含多节点的结构块 block最终不会变成真正的dom元素

5. 条件渲染

1. wx:if

使用 wx:if="{{condition}}" 来判断是否需要渲染该代码块

<!--
  isShow: true
  条件渲染
-->
<view wx:if="{{isShow}}">111</view>
<view wx:if="{{!isShow}}">222</view>
  
<!--
  isShow: false
  条件渲染
-->
<view wx:if="{{isShow}}">111</view>
<view wx:if="{{!isShow}}">222</view>

wx:if 直接不显示该标签
在这里插入图片描述

2. hidden

<!--hidden-->
<view hidden="{{isHidden}}">
  我不会显示
</view>
<view hidden="{{!isHidden}}">
  我会显示
</view>

在这里插入图片描述

hidden相当于给标签添加 dispaly:none 属性
在这里插入图片描述

6. 事件的绑定

input事件 :给input标签绑定的事件,输入的时候触发

<!--
  给input标签绑定input事件、
  绑定关键字:bindinput  
-->

<input type="text" value="{{num}}" bindinput="handleInput">
  
</input>

<view>
  {{num}}
</view>
Page({
  /**
   * 页面的初始数据
   */
  data: {
    num: 0
  },
  // 给input绑定的事件
  handleInput(e) {
    console.log("...")
  }
})

1. 如何获取页面的值

通过事件源对象

Page({
  /**
   * 页面的初始数据
   */
  data: {
    num: 0
  },
  // 给input绑定的事件
  handleInput(e) {
    // 获取页面的值
    console.log(e.detail.value)
  }
})

在这里插入图片描述

2. 把输入框的值赋值到data中

Page({
  /**
   * 页面的初始数据
   */
  data: {
    num: 0
  },
  // 给input绑定的事件
  handleInput(e) {
    // 获取页面的值,并赋值给data中的num
    this.setData({
      num: e.detail.value
    })
  }
})

7. 事件的绑定(按钮)

tap事件 :点击事件,点击的时候触发
点击事件 :bindtap
无法在小程序中的事件直接传参 通过自定义属性的方式来传递参数

<!--
  点击事件
  bindtap
  无法在小程序中的事件直接传参
  通过自定义属性的方式来传递参数
  在事件源中获取自定义属性
-->
<!--
错误
<button bindtap="handleClick(1)">+</button>
<button bindtap="handleClick(-1)">-</button>
-->

<button bindtap="handleClick" data-operation="{{1}}">+</button>
<button bindtap="handleClick" data-operation="{{-1}}">-</button>

在事件源中获取自定义属性

Page({
  /**
   * 页面的初始数据
   */
  data: {
    num: 0
  },
  // 点击事件
  handleClick(e) {
    // 获取自定义属性operation
    console.log(e.currentTarget.dataset.operation);
  }
})

1. num添加传递的数据

// pages/demo02/demo02.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    num: 0
  },
  // 点击事件
  handleClick(e) {
    // 获取自定义属性operation
    const operation = e.currentTarget.dataset.operation
    // data中的num加上自定义属性
    this.setData({
      num: this.data.num += operation
    })
  }
})

在这里插入图片描述

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:41:20  更:2022-02-28 15:42:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 15:37:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码