小程序中没有提供过滤器可以直接让你使用,但是,我们可以通过wxs来实现小程序中的过滤器。
首先先来了解一下微信小程序的原理:
微信小程序的架构分为app-service和page-frame,分别运行与不同的线程,你在开发时写的所有js都是运行在app-service线程里面的,而每个页面都WXML/WXSS则运行在page-frame中。app-service与page-frame之间通过桥协议通信(包括setData调用、canvas指令和各种DOM事件),涉及消息序列、跨线程通信与evaluateScript().这个架构的好处是:分开了业务主线和显示界面,即使业务主线特别繁忙,也不会阻塞用户在page-frame上的交互。一个小程序可以有多个page-frame(webview),页面间切换比SPA更流畅。坏处是:在page-frame上无法调用业务js.跨线程通信的成本很高,不适合需要频繁通信的场景。业务JS无法直接控制DOM。
wxs的作用:
wxs目前主要是增强wxml标签的表达能力,js和wxs不能互相引用
实现:
1、创建
2、实现(注意:在wxs文件下不能使用es6语法)
3、在业务页面wxml中引用wxs
<wxs module="dateFr" src="../../filter/dateFr.wxs"></wxs>
<text>{{dateFr.dataFilter(buyGoodsDetail.updateTime)}}</text>