博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序-(js和wxml中)utils公共方法使用
阅读量:3935 次
发布时间:2019-05-23

本文共 2570 字,大约阅读时间需要 8 分钟。

通过开发者工具快速创建了一个 QuickStart 项目时,会生成一个utils/util.js文件。

util.js

const formatTime = date => {
const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const hour = date.getHours() const minute = date.getMinutes() const second = date.getSeconds() return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')}const formatNumber = n => {
n = n.toString() return n[1] ? n : '0' + n}const formatDate = (time)=>{
// 每日5:30更新日期查询 let now = new Date() let year = now.getFullYear(); //得到年份 let month = now.getMonth();//得到月份 let date = now.getDate();//得到日期 month = month + 1 if (month < 10) month = "0" + month if (date < 10) date = "0" + date searchDate = year + '-'+ month + '-'+ date return searchDate}const formatEnMonth = (month) => {
month = month.toString() let en_month="Jan" let month_arr = ['01','02','03','04','05','06','07','08','09','10','11','12'] let en_mon_arr = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Spt","Oct","Nov","Dec"]; //英文月份 for(var i = 0;i < month_arr.length;i ++){
//循环匹配 if(month == month_arr[i]){
en_month= en_mon_arr[i] } } return en_month}module.exports = {
formatTime: formatTime, formatEnMonth: formatEnMonth, formatDate: formatDate,}

我们可以将一些公共的代码抽离成为一个单独的 js (util.js)文件,作为一个模块,通过 module.exports 或者 exports 对外暴露。

在使用过程中,会发现它里面的方法只能在js里调用,没法直接在wxml中使用,这时候可以用 WXS来模拟过滤器。

WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面结构。

  1. wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
  2. wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。
  3. wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。
  4. wxs 函数不能作为组件的事件回调。
  5. 由于运行环境的差异,在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。

wxs的使用方法:

1.在utils文件夹中新建一个文件,比如:utils.wxs。

// 作用于wxml中的函数,不支持ES6的语法var formatAir = function(data){
switch (data) {
case '优': return 'level1' case '良': return 'level2' case '轻度污染': return 'level3' case '中度污染': return 'level4' case '重度污染': return 'level5' case '严重污染': return 'level6' default: return '-' }}module.exports = {
formatAir: formatAir,}
  1. wxml页面中:
空气质量指数
{
{nowAir.aqi}}
{
{nowAir.category}}

.wxss

/* 工具类 */.level1{
background-color: #309434;}.level2{
background-color: #fbc011;}.level3{
background-color: #ff9800;}.level4{
background-color: #ff4032d1;}.level5{
background-color: #9c27b0;}.level6{
background-color: #a73208;}

转载地址:http://bwrgn.baihongyu.com/

你可能感兴趣的文章
Linux 查看CPU信息,机器型号,内存等信息
查看>>
webSocket-Java开发总结
查看>>
ELK原理与介绍(转)
查看>>
Ubuntu中支持yum命令(转)
查看>>
ubuntu navicat安装,破解使用;以及设置系统启动自动执行脚本(转)
查看>>
Ubuntu16.04.1 安装Nginx
查看>>
Terminator:多终端 工具
查看>>
deepin安装mysql/navicat,生成桌面快捷方式
查看>>
国外程序员整理的系统管理员资源大全 (转)
查看>>
Graylog2+rsyslog+log4j 全过程日志管理环境搭建(转)
查看>>
Elasticsearch6.0 使用Sense发送请求Content-Type报错(转)
查看>>
基于Elasticsearch搜索平台设计(转)
查看>>
用Elasticsearch构建电商搜索平台,一个极有代表性的基础技术架构和算法实践案例(转)
查看>>
使用 Binlog 和 Canal 从 MySQL 抽取数据(转)
查看>>
谈谈对Canal( 增量数据订阅与消费 )的理解(转)
查看>>
Canal数据库同步组件(转)
查看>>
ElasticSearch + Canal 开发千万级的实时搜索系统(转)
查看>>
ElasticSearch + Canal搭建搜索系统(整理中)
查看>>
Centos系统安装MySQL(整理)
查看>>
Ubuntu 下PostgreSQL、postgis安装与配置
查看>>