小程序–事件绑定&数据绑定

2021年2月26日03:12:57
评论
1,919 次浏览 1926字阅读6分25秒

数据绑定

逻辑数据储存在js文件中,当前端wxml页面与js数据交互时,需要使用数据绑定,在wxml文件中{{}}双花括号内输入js中变量,wxml会从js文件中更新数据到前端
小程序–事件绑定&数据绑定

标签内参数也可用作数据绑定,花括号内可以进行运算字符串拼接

循环

for循环

wx:for=”{{数组或对象}}”
wx:for-item=”循环项名称“
wx:for-index=”循环项索引”
小程序–事件绑定&数据绑定

js文件data内数据

小程序–事件绑定&数据绑定

for循环相关代码及界面

只有一层循环时,wx:for-item和wx:for-index可省略,但默认值仍为item和index
当for循环的内容为对象时,item代表对象的值,index代表对象的属性

block标签

 block标签为占位标签,当标签内属性过多时,可以将相关代码放在block标签内,但block标签并无实质作用
小程序–事件绑定&数据绑定

用block标签占位

条件渲染

当是否根据满足条件显示标签时,可以选择条件判断显示或隐藏标签
wx:if=”{{true/false}}”
当判断条件为true时显示标签
当判断条件为false时隐藏标签
同时可以使用wx:elif  wx:else进行嵌套
小程序–事件绑定&数据绑定

条件渲染

hidden隐藏标签

同时,hidden也可以进行隐藏标签
hidden=”{{true/false}}”
当hidden为true时隐藏当前标签内容
反之亦然
小程序–事件绑定&数据绑定

hidden隐藏标签内容

小结:当标签不经常切换显示,优先使用wx:if.wx:if会将标签从页面结构移除,耗费性能
当标签频繁切换显示时,优先使用hidden,hidden通过添加样式切换显示.同时,hidden不能和display同时使用,display行内优先级比较高,会覆盖hidden,导致标签无法隐藏.
 

 事件绑定

输入框事件绑定

将输入框绑定事件需要在标签内设置bindinput属性,参数为需要执行的函数,函数内需要.detail.value获取输入的值,函数内获取的值需要调用setData才能赋值给data内变量进行显示.
  data: {
    num:0,
  },
  handleInput(e){
    console.log(e.detail.value),
    this.setData({
      num:e.detail.value
    })
  },

 

 
小程序–事件绑定&数据绑定

界面显示及控制台输出

在输入框内输入数字,数字赋值给num变量,前端获取变量内容进行显示
小结:函数内赋值给data内变量时,需要使用setData({})方法.

按钮事件绑定

js内代码
  data: {
    num:0,
  },
  handleInput(e){
    console.log(e.detail.value),
    this.setData({
      num:e.detail.value
    })
  },
  add(){
    this.setData({
      num:Number(this.data.num)+1,
    })
  },
  sub(){
    this.setData({
      num:this.data.num-1,
    })
  },
  handletap(i){
    console.log(i);
    const operation=i.currentTarget.dataset.operation;
    this.setData({
      num:Number(this.data.num)+Number(operation),
    })
    
  },
小程序–事件绑定&数据绑定

不传参绑定及传参绑定事件

不传参跳转函数

按钮事件绑定和输入框大致相同,但事件名称为bindtap,点击按钮后,触发点击事件。跳转对应事件函数,实例中分别定义两个不传参按钮,点击加时将data中变量加一,点击减时将变量减一

传参跳转函数

定义两个传参跳转函数,自定义参数设置data-operation,值为参数,跳转函数后需要进入数组取出参数使用,并更改data中变量
小结:运算时注意变量类型,避免字符串相加,传参后注意进入数组取值
7z7z7z
  • 本文由 发表于 2021年2月26日03:12:57
  • 转载请务必保留本文链接:https://www.7z7z7z.cn/index.php/2021/02/26/%e5%b0%8f%e7%a8%8b%e5%ba%8f-%e4%ba%8b%e4%bb%b6%e7%bb%91%e5%ae%9a%e6%95%b0%e6%8d%ae%e7%bb%91%e5%ae%9a/
小程序--轮播图 技术分享

小程序–轮播图

轮播图使用swiper标签,每个轮播项使用swiper-item标签,标签内嵌套image标签 swiper标签存在默认样式:width 100%  heigth 150px image标签也存在默认...
小程序----全局配置篇 技术分享

小程序—-全局配置篇

本文章用于个人技术总结,视频参考:B站,文档参考:微信官方文档•小程序,图标参考:阿里图标库 全局配置文件 pages字段 创建小程序,观察app.json文件 pages内为小程序所有页面的路径,在...
小程序--轮播图 技术分享

小程序–轮播图

轮播图使用swiper标签,每个轮播项使用swiper-item标签,标签内嵌套image标签 swiper标签存在默认样式:width 100%  heigth 150px image标签也存在默认...
小程序----全局配置篇 技术分享

小程序—-全局配置篇

本文章用于个人技术总结,视频参考:B站,文档参考:微信官方文档•小程序,图标参考:阿里图标库 全局配置文件 pages字段 创建小程序,观察app.json文件 pages内为小程序所有页面的路径,在...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: