博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序:如何在wxml页面中调用JavaScript函数
阅读量:7070 次
发布时间:2019-06-28

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

 

早上过来遇到一个这样的bug:

在计算百分比的时候没有保留小数点后2位,从而导致一些无法整除的结果显示太长

 

 

一开始,我以为这是一个很普通的bug,既然wxml在页面{

{}}内支持简单的运算,我想也应该会支持toFixed()方法

于是动手改代码,试试看

{
{(item.vote_count/vote.data.voters_count).toFixed(2)*100}}%

 

运行结果:不支持

 

换一种方法试试看

在util.js文件里面写一个公共的numberToFixed函数,然后在页面调用

const numberToFixed = n => {    n = n.toFixed(2) * 100 + '%'    return n}module.exports = {    numberToFixed: numberToFixed}

  

页面调用

{
{util.numberToFixed(item.vote_count/vote.data.voters_count)}}%

  

运行结果:找不到方法,页面没有有效引入

 

找了一下文档,发现可以使用wxs文件解决

文档地址:

 

通过使用wxs文件,实现在wxml页面中调用自定义的JavaScript函数

 

具体思路:

使用到wxs文件,然后在wxs文件里面添加numberToFix函数;然后在需要使用numberToFix方法的wxml页面引入该wxs文件,然后就可以通过{

{numberToFix(persent)}}这种方式调用了

1# 创建一个numbertofix.wxs文件,创建numberToFix函数

var filter = {  numberToFix: function (value) {    return value.toFixed(1)  }}module.exports = {  numberToFix: filter.numberToFix}

 

2# 在需要使用numberToFix函数的页面引入numbertofix.wxs文件

  

3# 调用即可

{
{filter.numberToFix(item.vote_count/vote.data.voters_count*100)}}%

  

运行结果:正常,bug解决

 

2018/05/10更新: 该小程序已上线,欢迎大家使用

 

 

转载于:https://www.cnblogs.com/kevinCoder/p/8961748.html

你可能感兴趣的文章
linux -- ubuntuserver 安装图形界面
查看>>
阅读小记3(《C编程专家》)
查看>>
linux cmd
查看>>
VS2010中的调试技巧
查看>>
[译] 一、为何要推出AppCoda系列?
查看>>
HDU4685 Prince and Princess 完美搭配+良好的沟通
查看>>
Spring AOP在pointcut expression解析表达式 并匹配多个条件
查看>>
建立完整的单向动态链表(包括初始化、创建、插入、删除、查找、销毁、输出)...
查看>>
如果有一天你没有了动力,可以看看
查看>>
选择算法
查看>>
反射获取指定类型
查看>>
springJDBC一对多关系,以及Java递归,jsp递归的实现
查看>>
Codeforces Gym 100733A Shitália 计算几何
查看>>
configure: error: png.h not found.
查看>>
学习笔记: JavaScript/JQuery 的cookie操作
查看>>
clearcase 中一些概念和操作
查看>>
Linux互斥和同步应用程序(一):posix线程和线程之间的相互排斥
查看>>
iOS tableview上放textfield
查看>>
Bash 中为 _ 变量赋空值的三个场景
查看>>
导入myeclipse项目出现的问题及解决方案
查看>>