• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序wxml文件中调用自定义函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  想在微信小程序的wxml文件里自如的像vue那样调用自定义的方法,发现并不成功,得利用WXS脚本语言。

  WXS脚本语言是 WeiXin Script 脚本语言的简称,是JavaScript、JSON、WXML、WXSS之后又一大小程序内部文件类型。截至到目前小程序已经提供了5种文件类型。

  WXS的使用,有两种方式。

  一种是直接在WXML中编写。

<!--wxml-->
<wxs module="foo">
var some_msg = "hello world"; 
module.exports = {    msg : some_msg, }
</wxs>
<view> {{foo.msg}} </view>

  另外一种是使用单独的WXS文件,然后在WXML中引入即可:

<wxs src="../../wxs/issue.wxs" module="tools" />

  wxs文件内容如下:

var timeChn = function (val) {
  if (!val) {
    return false
  }
  var reg = getRegExp("-", "g");
  var _time = val.replace(reg, "/")
  var realTime = getDate(val).getTime()
  var nowTime = getDate().getTime()
  var diffValue = nowTime - realTime
  var _min = diffValue / (60 * 1000)
  if (_min < 1) {
    return '刚刚'
  } else if (_min >= 1 && _min < 10) {
    return '1分钟前'
  } else if (_min >= 10 && _min < 30) {
    return '10分钟前'
  } else if (_min >= 30 && _min < 60) {
    return '半小时前'
  } else if (_min >= 60 && _min < 60 * 24) {
    return Math.floor(_min / 60) + '小时前'
  } else if (_min >= 60 * 24 && _min < 60 * 24 * 7) {
    return Math.floor(_min / (60 * 24)) + '天前'
  } else {
    return val
  }
}

module.exports = {
  timeChn: timeChn
}

  在wxml文件里使用如下:

<view>{{tools.timeChn(item.createdTime)}}</view>

  WXS是小程序的一套脚本语言,wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。其中包括了很多日常使用的javascript函数,在wxs中都是不能同样使用的。最近在做这个小程序的时候,涉及到时间格式化操作。就遇到了这个问题,以前写好了的格式化工具函数直接拷贝到小程序项目的wxs文件中,函数不能正常执行。其中包括了下面的几个错误:

1、正则表达式在字符串的replace函数中的使用方法不一样,不能直接使用var a = /[0-9]/这种方式声明使用。正确的方式为var reg = getRegExp("-", "g");

2、获取当前时间不能通过new Date()获取,而是通过getDate方法获取。

3、使用let声明好像有问题(此未验证,反正let改成var声明就可以了)


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序获取form_id与小程序获取openid发布时间:2022-07-18
下一篇:
小程序省市区县分割发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap