es6模块如何在vue的模板的插值语法中使用?

发布于 2022-09-12 23:04:04 字数 1258 浏览 15 评论 0

题目描述

有这样一个需求,后台提供的数据在前台展现的时候需要“格式化”一下,比如后台提供的数据是1230000,那么在前台需要展现为123万。
在模板插值的时候直接{{data}} 这样就直接显示了1230000。因为有多个页面需要处理,于是,创建了一个公共的函数:

// @/utils/index.js
export function formatPlayCount(number) {
  let stringNumber = number.toString();
  let numberLength = stringNumber.length;
  //亿级别
  if (numberLength > 8) {
    return parseInt(number / 100000000) + "亿";
  }
  // 万级别
  else if (numberLength > 4) {
    return parseInt(number / 10000) + "万";
  } else {
    return number;
  }
}

然后在需要使用这个函数的组件页面:(因为插值语法里面只能是变量或者计算属性,所以使用计算属性包裹了一下)

<template>
<div>{{formatPlayCount(originalData)}}</div>
</template>

<script>
import {formatPlayCount} from "@/utils/index.js";
export default {
    computed:{
        formatPlayCount(originalData){
         return  formatPlayCount(originalData);
        }
    }
}
</script>

然后又换两种种写法:

    formatPlayCount() {
      return (originalData) => {
        formatPlayCount(originalData);
      };
    },
formatPlayCount(originalData){
          formatPlayCount(originalData);
        }

但是,要么是报错,要么是不显示数据。这里应该怎么写?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一抹微笑 2022-09-19 23:04:04
    formatPlayCount() {
      return (playCount) => {
        return formatPlayCount(playCount);
      };
    },

搞掂了,自定义函数前面还是要加个return

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文