过滤器及应用实例(显示格式化的日期时间)

理解过滤器

  1. 功能: 对要显示的数据进行特定格式化后再显示
  2. 注意: 并没有改变原本的数据, 只是产生新的对应的数据

定义和使用过滤器

  1. 定义过滤器
Vue.filter(filterName, function(value[,arg1,arg2,...]){
// 进行一定的数据处理
return newValue
})
  1. 使用过滤器
<div>{{myData | filterName}}</div>
<div>{{myData | filterName(arg)}}</div>

应用实例 之 显示格式化的日期时间

如要求显示日期的三种格式:

  • 2020-01-22 11:46:39
  • 2020-01-22
  • 11:46:39

这里涉及到一个库 monent.js>>>>
此库的引用看这里(BootCDN)>>>
(然后是倒数第二个或倒数第一个的链接粘到代码中即可)

完整实现代码

<!--需求:对当前时间进行指定格式显示 -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue的生命周期</title>
    <style>
    </style>
</head>
<body>

<div id="test">
    <h2>显示格式化的日期时间</h2>
    <p>{{date}}</p>
   <!--使用过滤器显示时间 -->
    <p>完整版:{{date | dateString}}</p>   <!--数值 | 过滤器名字(如果传格式就会按照指定格式进行格式化)-->
    <p>年 月 日:{{date | dateString('YYYY-MM-DD')}}</p>
    <p>时 分 秒:{{date | dateString('HH:mm:ss')}}</p>
</div>

<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/moment.js/2.24.0/moment.js"></script>
<script type="text/javascript">
    //自定义过滤器,Vue函数对象的角色
    Vue.filter('dateString',function (value,format) { //value:将要被格式化处理的值,即下面的date值
        return moment(value).format(format || 'YYYY-MM-DD HH:mm:ss')  //24小时制:H;12小时制:h.
    })                                                               //如果传入format则用format,否则用后面的格式化形式
    new Vue({
        el:'#test',
        data:{
            date:new Date()
        }
    })


</script>
</body>
</html>

PS:对传入的format和’YYYY-MM-DD HH:mm:ss’格式的互斥显示的另一种写法:

 //自定义过滤器,Vue函数对象的角色
    Vue.filter('dateString',function (value,format='YYYY-MM-DD HH:mm:ss') { //value:将要被格式化处理的值,即下面的date值
        return moment(value).format(format)  //24小时制:H;12小时制:h.
    })          

(有点惊奇,这不是在C或java中都是赋值语句吗?看来前端和后端语法不一样)

发布了13 篇原创文章 · 获赞 0 · 访问量 213

猜你喜欢

转载自blog.csdn.net/qq_44571236/article/details/104068870