0
点赞
收藏
分享

微信扫一扫

WXML模板语法——数据绑定、事件绑定、条件渲染、列表渲染

船长_Kevin 2022-03-19 阅读 91

一、数据绑定

1.Mustanche语法的格式

应用场景:

①绑定内容:<view>{{变量}}</view>

②绑定属性:

<image src="{{imgSrc}}"></image>
Page({
    
data: {
        imgSrc:"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
    },


})

③三元运算

例如:

在WXML文件中这样写
<view>{{radomNum >5 ? "随机数大于5" : " 随机数小于五"}}</view>
在.js文件中定义数据
 data: {
        radomNum: Math.random()*10
    },
这样就完成了一个最简单的三元运算了

二、事件绑定

1.概述:事件绑定在微信小程序中的就是指渲染层到逻辑层之间的通讯

2.常用类型

 3.使用

先在.WXML文件中定义事件函数:例如:

<button bindtap="btnHandler">我是tap事件</button>

然后在.js文件中声明函数:

Page({

    btnHandler(){
        console.log("我是tap事件");
    },
})

这样当你点击按钮时,在控制台就会打印出“我是tap事件”

input事件是配合input标签使用的,唯一不同的是input中有一个even.detail.value,可以时刻获取文本框中最新的值:

Page({

    iptHandler(e){
        this.setData({
            msg: e.detail.value
        })
    },
    /**
     * 页面的初始数据
     */

    data: {
        radomNum: Math.random()*10,
        msg:"你好"
    },
})

这样可以实现文本框和data之间的数据同步

三、条件渲染

1.使用wx:if 来判断是否需要渲染该代码块,同时还可以结合wx:elif 、wx:else一起使用

<view wx:if="{{ condition ==1}}">1</view>  
<view wx:elif="{{condition == 2}}">2</view>
<view wx:else>随机</view>

如果要一次性控制多个组件的展示与隐藏,可以使用<block></block>标签将多个组件包装起来,并在block标签上使用wx:if控制属性

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

注意:block并不是一个组件,它只是一个包裹性容器

扩展:hidden也能控制元素的显示与隐藏

2.hidden和wx:if对比

运行方式不同

 wx:if 以动态创建和移除元素的方式,控制元素的展示与隐藏

hidden 以切换样式的方式(display: none/block;),控制元素的显示与隐藏

使用建议

频繁切换时,建议使用 hidden

控制条件复杂时,建议使用 wx:if 搭配 wx:elifwx:else 进行展示与隐藏的切换

四、列表渲染

1.wx:for 可以根据指定数组循环渲染重复的组件结构,语法示例如下:

<view wx:for="{{array}}">
    索引是:{{index}},当前项是:{{item}}
</view>

默认情况下,当前循环项的索引index 表示;当前循环项item 表示。

2.可以通过wx:for-index 指定当前循环项的索引变量名,wx:for-item指定当前项的变量名

3.wx:key的使用

在渲染列表时建议为渲染出来的列表项指定唯一的key值,从而提高渲染效率

<view wx:for="{{array}}" wx:key="id"></view>
举报

相关推荐

0 条评论