【微信小程序入门到精通】— 带你揭开数据绑定的真面目

2024-02-13 13:40

本文主要是介绍【微信小程序入门到精通】— 带你揭开数据绑定的真面目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

目录

  • 前言
  • 一、定义数据
  • 二、绑定数据
    • 2.1 Mustache 语法
      • 2.1.1 动态绑定内容
      • 2.1.2 动态绑定属性
      • 2.1.3 三元运算
    • 2.2 Mustache 语法的综合使用
    • 2.3 数据查看
  • 三、数据运算
    • 3.1 位数限制(toFixed)
    • 3.2 算数运算
  • 总结

前言

对于目前形式,微信小程序是一个热门,那么我们该如何去学习并且掌握之后去做实际项目呢?
为此我特意开设此专栏,在我学习的同时也将其分享给大家!

本篇文章主要介绍数据绑定这一名词,那么我们如何在小程序页面定义数据并且使用呢?

首先我们介绍一下数据绑定遵守的基本原则:
1. 在 date 里面定义数据
2. 在 wxml 里面使用数据

如果在往下阅读的过程中,有什么错误的地方,期待大家的指点!

一、定义数据

请诸君打开微信开发者工具,接下里跟着我一步一步操作!

声明:我们数据的定义以及使用需要区分位置,比如我们每个页面都有自己的对于数据,如果我们想要在特定页面使用数据,我们需要在指定页面内部进行。

定义数据的位置在页面对应的 .js 文件内,将数据放在 data 对象中即可。(接下来博主选用的是之前的 list 页面)

  • 打开 .js ,在里面找到 data ,在里面定义一个数据,格式如下

       Page({/*** 页面的初始数据*/data: {xdl: '跟着一碗黄豆酱学习微信小程序!'},/*** 生命周期函数--监听页面加载*/onLoad(options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
    })

    page 组件是初始化生成的,我们只需要关注上面代码的 data ,在代码开头。结构就是 名称 : ‘内容’

二、绑定数据

我们前面已经定义了数据,那么我们如何使用呢?首先我们介绍一下一个语法 — Mustache 语法(双大括号)

2.1 Mustache 语法

Mustache 语法都能用来干啥呢?主要三个作用

  • 动态绑定内容
  • 动态绑定属性
  • 三元运算

2.1.1 动态绑定内容

我们既然已经定义了数据,那么如何调用呢?(动态绑定)

  <view> {{ 需要绑定的数据名称 }} </view>

我们只需要在 .wxml 内使用 Mustache 语法(双大括号)即可引入我们在 .js 内定义的数据,如上面代码所示格式

2.1.2 动态绑定属性

在我们使用一些组件的时候需要设置相应属性值才能产生作用,比如我们的 image 组件就需要 src 属性值,从而告诉我们 image 组件我们的图片的位置。那么我们的 Mustache 是如何绑定属性的呢?

  data: {xdl: '跟着一碗黄豆酱学习微信小程序!',picsrc:'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fqimg.hxnews.com%2F2018%2F1114%2F1542153705958.jpg&refer=http%3A%2F%2Fqimg.hxnews.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1667625105&t=96c03a127d2f0443361ae749461bb2cd'},

定义数据的格式和上面一致,我们在此就以 image 的 src 属性为例,我们创建一个 picsrc ,在里面存放我们图片的路径。接下来我们进去 list.wxml 里面进行绑定属性操作。

<!--pages/list/list.wxml--><view> {{ xdl }} </view><image src="{{ picsrc}}"></image>

绑定方式就是将原本要填写属性值的地方改成了前面定义的数据名称而已,但是必须使用 Mustache 语法!(双括号)

效果展示:

在这里插入图片描述

2.1.3 三元运算

三元运算符是软件编程中的一个固定格式,语法是“条件表达式?表达式1:表达式2”。使用这个算法可以使调用数据时逐级筛选。接下来博主将带大家体会一下三元运算。

  data: {xdl: '跟着一碗黄豆酱学习微信小程序!',picsrc:'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fqimg.hxnews.com%2F2018%2F1114%2F1542153705958.jpg&refer=http%3A%2F%2Fqimg.hxnews.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1667625105&t=96c03a127d2f0443361ae749461bb2cd',a: '3'},

首先我们在 list.js 内的 data 内定义一个数据 a ,他的数值为 3

<!--pages/list/list.wxml--><view> {{ xdl }} </view><image src="{{ picsrc}}"></image><view> {{ a >=1 ? 'YES' :'NO'}}</view>

然后在 list.wxml 内我们使用 Mustache 语法,绑定上数据 a,然后进行 >= 1的判断,如果 a 大于等于1,将显示 YES,反之显示NO

效果展示

在这里插入图片描述

2.2 Mustache 语法的综合使用

那么接下来我将带领大家手把手的进行操作

  • 打开 list.js ,定义一个变量 random

      data: {random:(Math.random()*10)+2,
    },
    
  • 打开对应页面的 .wxml,利用 Mustache 语法嵌入数据进行 random 和 5 进行比较输出

     <view>{{ random >=5 ? 'a的数值真的大于等于2哟!':'a的数值小于等于2捏!'}}</view>
    
  • 效果展示

    在这里插入图片描述

2.3 数据查看

我相信大家肯定有个疑问,那就是我们咋知道这个生成的随机数到底是多少?接下来我就来告诉大家如何查看数据。

  • 点击调试器内的 appdata

    在这里插入图片描述

  • 在数据框内即可查看我们所有定义的数据


三、数据运算

我们前面讲的 Mustache 语法也可以进行算术运算,接下来博主带大家一起来操作一下

3.1 位数限制(toFixed)

我们接下里定义两组数据,一组不设置位数,一组设置位数为3

  • 定义数据

      data: {random:(Math.random()*10)+2 ,random2:Math.random().toFixed(3)
    },
    
  • 数据观察

    在这里插入图片描述

我们可以看到设置位数的数据 random2 以及变成三位数

3.2 算数运算

接下里我们进行简单的算数运算展示

  • 利用之前创建的 random2 进行算数运算(*1000)

     <view>{{ random2*1000 }}</view>
    
  • 数据展示

    在这里插入图片描述

  • 效果展示

    在这里插入图片描述


总结

大家每天都要开开心心的喔,让我们一起快乐的学习吧!

在这里插入图片描述

这篇关于【微信小程序入门到精通】— 带你揭开数据绑定的真面目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/705676

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro