如何在 Vue 的计算属性中传递参数
在 Vue 中,计算属性(computed
)是从其他响应式属性派生的属性,是用于自动监听响应式属性的变化,从而动态计算返回值。计算属性(computed
)通常是一个没有参数的函数。当然如果需要像调用方法一样给计算属性传递参数也是可以的,本文介绍两种向计算属性传参的方法。
1.返回函数
这种方式通过计算属性返回的函数来进行传参,如下代码片段,对于一条未审核通过的记录,审核时间为 0
,这是显示 --
:
<template> <div id="app"> <p> <label>审核时间:</label> <i class="number"> {{ auditTime(1624314956) }} </i> </p> </div> </template> <script> export default { computed: { auditTime: () => { return (timestamp) => (timestamp > 0 ? convertDate(timestamp) : "--"); }, }, }; </script>
上面代码的计算属性 auditTime
,返回一个箭头函数,接收参数timestamp
为时间戳,函数 convertDate
实现了时间戳时间格式化。
2.filters
可以为组件添加一个过滤器 filters
,以便可以在模板中按照想要的方式格式化值。
关于 vue 过滤器,在官方文档中定义如下:
Vue.js
允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和v-bind
表达式(后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示。
<template> <div id="app"> <p> <label>审核时间:</label> <i class="number"> {{ 1624314956 | auditTime("--") }} </i> </p> </div> </template> <script> export default { filters: { auditTime: (timestamp, defaultValue = "--") => timestamp > 0 ? convertDate(timestamp) : defaultValue, }, }; </script>
在上面的片段中,当时间戳为0
的时候输出的是 --
,这个格式是否有种似曾相识的感觉,在《Angular管道PIPE介绍》中介绍的管道,方式类似。
{{ 1621836603 | auditTime("--") }}
上面代码最终显示为:2021-06-22 06:35
。
{{ 0 | auditTime("--") }}
上面代码最终显示为:--
。
总结
关于计算属性中传参,当然可以在 methods
中定义相应的方法,两者主要区别是:computed
是可以被缓存的,methods
不能缓存。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
教你怎么开发一个基于java的语义waf
今天在看腾讯介绍自己jdk的文章,其中提到了腾讯的waf是java写的,所以到github上搜索了一下,发现了一个java开发的语义waf https://github.com/Kanatoko/libinjection-Java 这个项目的作者实在是太强了,使用的是libinjection的开发思路,所以我拿来研究了一下,产生了本文。 首先我写了一个有sql注入的接口如下,代码逻辑是name是sql拼接点,如果sql被库识别为sql注入,那么就直接拦截掉。 其中的我们要注意,因为本次是研究性质的,所以我会用sqlmap直接跑这个接口,对未发现的payload直接在Dirty SQLi found 中打印出来。 @RequestMapping("list2") public User getList2(String name) { //sql语句是 "select * from user where name='${name}'" if (name == null) { name = "dato"; } boolean isSQLi = com.client9.libinj...
- 下一篇
webpack 如何压缩文件
本节我们学习如何压缩 webpack 中的文件。在实际应用中,为了缩小打包后包的体积,我们可能需要将 CSS 和 JS 文件进行压缩,这需要用到 webpack 中的不同插件来实现。 压缩 CSS 在 webpack 中要压缩 CSS 文件,需要用到 optimize-css-assets-webpack-plugin 插件,这个插件会在 webpack 构建过程中搜索 CSS ,并优化 CSS。 首先我们需要安装这个插件,命令如下所示: npm install optimize-css-assets-webpack-plugin --save-dev 执行命令后,会发现插件成功添加到了 package.json 文件中的 devDependencies 依赖中。 这个插件在使用时可以接受以下选项: assetNameRegExp:一个正则表达式,指示应优化的资产的名称。提供的正则表达式针对配置中ExtractTextPlugin 实例导出的文件的文件名运行,而不是源 CSS 文件的文件名。默认为 /\.css$/g。 cssProcessor:用于优化 CSS 的 CSS 处理器,默...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7