小程序基础篇(二)——数据绑定

163 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第13天,点击查看活动详情

一、数据绑定

基本原则

(1)在data中定义数据 (2)在wxml中使用数据

在data中定义页面的数据

Mustache语法(插值表达式): <view>{{ 要绑定的数据名称 }}</view>

  • 动态绑定内容: image.png

  • 动态绑定属性:

image.png

  • 三元运算:(调试面板AppData看数字)

image.png

二、事件绑定

事件渲染层到逻辑层的通讯方式

常用事件:

image.png

事件对象的属性列表

image.png

  • 区分target和currentTarget的区别:

target: 触发该事件的源头组件 currentTarget: 当前事件所绑定的组件

image.png

上面的这个触发事件(内部按钮点击后冒泡触发view的tap事件),e.target是button组件,e.currentTarget是当前的view组件

  • bindinput

<input type="text" value="{{msg}}" bindinput="inputHandler"/>

image.png

  • value内放默认值,inputHandle内用输入框内容赋值给msg使得数据动态传输(msg = 输入框内容)

数据赋值

主要就是编写一个函数调用this.setData({})

image.png

事件传参

  • 使用data-*传递参数,*代表参数的名字,用event.target.dataset.参数名获得参数值

image.png

image.png

条件渲染

  • 使用wx:if"{{condition}}" , wx:elif"{{condition}}" , wx:else"{{condition}}"
<view wx:if="{{type ==1}}"></view>
<view wx:elif="{{type == 2}}"></view>
<view wx:else>保密</view>

(data放type:1)

  • 使用block控制组件的显示与隐藏(block不作为一个组件,只用于包裹其他组件)

image.png

  • 直接使用hidden=“{{condition}}”也能控制元素的显示与隐藏 ,condition可以是true或false(要通过data中的数据控制)

image.png image.png

wx:if与hidden的对比

  • wx:if以动态创建和移除元素的方式(节点元素消失),控制元素的展现和隐藏【控制条件比较复杂】
  • hidden以切换样式的方式(类似display:none/block),控制元素的展现与隐藏【频繁切换】