微信小程序在双大括号{{}}里面写方法

博客介绍了在微信小程序中获取所需参数返回的方法。可新建一个.wxs文件并暴露方法,再在.wxml文件中引入并使用,以此实现参数返回。

微信小程序在双大括号{{}}里面写方法


在开发微信小程序中,我们有时候需要在{{ }}里面处理一些数据,比如说:格式化日期,或者是用一个方法的return值来作为显示在页面上的数据。
但是我们直接写会报错,不像用uniapp开发小程序,我们可以用计算属性,也可以用过滤器

<view class="baseText" wx:if="{{el.mixList.length>1}}">
	{{el.mixtitle}} ({{proNum(el.mixList)}})
</view>

这样写是不行的

因此我们可以这样:
1.新建一个.wxs文件,然后将方法暴露出来

// 需要注意:
// 1.不支持let,const
// 2.不支持箭头函数
var filter = {
    proNum: function (value) {
        var num = 0
        for (var i = 0; i < value.length; i++) {
            if (value[i].showType == 'flow') {
                num += 1
            } else {
                num += value[i].flowList.length
            }
        }
        return num
    }
}
// 导出方法
module.exports = {
    proNum: filter.proNum
}

2.在.wxml文件中引入并使用

// 引用.wxs文件
<wxs module='filter' src='./orderPayment.wxs'></wxs>

// 在页面上使用
<view class="baseText" wx:if="{{el.mixList.length>1}}">
	{{el.mixtitle}} ({{filter.proNum(el.mixList)}})
</view>

这样我所需要的参数就返回了
在这里插入图片描述

微信小程序里,大括号大括号 `{{}}`)一般用于数据绑定,也就是把页面的数据渲染到视图上。若要获取大括号中间内容,实际上就是获取对应的数据。下面是不同场景下获取大括号中间内容的方法: ### 在 WXML 文件里获取数据 在 WXML 文件中,大括号里的内容是绑定的数据,这些数据来源于对应的 JS 文件里的 `data` 对象。例如,有如下 WXML 文件: ```xml <!--index.wxml--> <view>{{message}}</view> ``` 在对应的 JS 文件里,`message` 数据是这样定义的: ```javascript // index.js Page({ data: { message: '这是要显示的消息' } }) ``` 若要在 JS 里获取 `message` 数据,可通过 `this.data` 来访问: ```javascript // index.js Page({ data: { message: '这是要显示的消息' }, onLoad: function() { const message = this.data.message; console.log(message); // 输出: 这是要显示的消息 } }) ``` ### 在事件处理函数里获取数据 当在事件处理函数里需要获取大括号中间的数据时,同样可以使用 `this.data`。例如,有如下 WXML 文件: ```xml <!--index.wxml--> <view>{{message}}</view> <button bindtap="handleClick">点击获取数据</button> ``` 对应的 JS 文件: ```javascript // index.js Page({ data: { message: '这是要显示的消息' }, handleClick: function() { const message = this.data.message; console.log(message); // 输出: 这是要显示的消息 } }) ``` ### 通过自定义属性传递数据 还能借助自定义属性把数据传递给事件处理函数。示例如下: ```xml <!--index.wxml--> <view data-info="{{message}}" bindtap="handleViewClick">点击获取数据</view> ``` 对应的 JS 文件: ```javascript // index.js Page({ data: { message: '这是要显示的消息' }, handleViewClick: function(event) { const message = event.currentTarget.dataset.info; console.log(message); // 输出: 这是要显示的消息 } }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值