微信小程序 -- wxs模块:实现类似于vue中的filter过滤器功能

一. vue过滤器

在vue中,我们知道有个filter过滤器可以对页面数据进行过滤。

如下,先把方法都统一写在一个filters.js文件中,然后在main.js中循环定义全局的过滤器。

filters.js

//格式化价格
exports.formatMoney = function(value){
    if(value || value == 0){
        value = Number(value)
    	return '¥' + value;
    }
}

main.js

//注册filter
import filters from './filters/filters.js'
Object.keys(filters).forEach(key => Vue.filter(key, filters[key]))

使用格式:数据 | 方法

二. 小程序中的“过滤器”

在小程序中,WXS模块可以实现类似vue过滤器一样效果的功能。

文档描述:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/
WXS 语法参考:https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/

从文档中,我们了解到WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致。语法就不一一解释了。举例之前把一些注意点写出来,如下:
1. <wxs>标签有两个属性module和src。

 2. .wxs文件和<wxs>标签都是一个独立的模块,因此里面的变量和函数是私有,对外不可见。因此通过module.exports,将内部的私有变量与函数暴露出去,外部才能使用。

举例:如下的num是在js中定义的,值为120

写法1:在<wxs>标签里写

<view>
  <wxs module="filter">
    var formatPrice = function(num){
      return '¥'+num;
    }
    module.exports = {
      formatPrice: formatPrice
    }
  </wxs>
  <view>{{filter.formatPrice(num)}}</view>
  <view>{{num}}</view>
</view>

写法2:创建一个.wxs文件,如 filter.wxs,然后用<wxs>标签的src属性引入
filter.wxs文件内容

var formatPrice = function(num){
  return '¥'+num;
}
module.exports = {
  formatPrice: formatPrice
}

wxml内容:

<view>
  <wxs src="./filter.wxs" module="filter"></wxs>
  <view>{{filter.formatPrice(num)}}</view>
  <view>{{num}}</view>
</view>

效果图:

注意:

 如下中:

1. 小程序js中,new可要可不要。比如 var date = Date();

2. 小程序js中,如果用RegExp()方法,则里面的 \ 需要转义,否则会报错,转义就是在 \ 前面再加 \

 小程序 jswxs
date类型var date = new Date()var date = getDate()
正则

var reg = '/^1\d{10}$/'

var reg = new RegExp('^1\\d{10}$')

var reg = new RegExp('^1\\d{10}$','g')

var reg = getRegExp('^1\d{10}$')

var reg = getRegExp('^1\d{10}$','g')

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值