Vue filter 过滤当前时间 实现实时更新效果


Posted in Javascript onDecember 20, 2019

过滤器

过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。

下面通过代码给大家介绍Vue filter 过滤当前时间 实现实时更新,具体代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js"></script>
</head>
<body>
  <div id="ssl">
    {{currentTime|filterTime}}
  </div>
</body>
<script>
  var em = new Vue({
    el: "#ssl",
    data: {
      currentTime: new Date(), // 获取当前时间
    },
    filters: {
      filterTime(val) {
        var Y = val.getFullYear()
        var M = val.getMonth()
        var D = val.getDate()
        var H = val.getHours()
        var MI = val.getMinutes()
        var S = val.getSeconds()
        return Y + "年" + M + "月" + D + "日" + H + "时" + MI + "分" + S + "秒"
      }
    },
    //声明周期函数 是最早使用data数据的函数
    created() {
      var _this = this; //声明一个变量指向Vue实例this,保证作用域一致
      setInterval(function () {
        _this.currentTime = new Date()//修改数据让他可以实时更新
      }, 1000);
    }
  })
</script>
</html>

这里使用了created生命周期函数 created是最早操作date数据的

代码逻辑:先让当前时间可以实时更新 在created里面

然后在filters里面更改时间格式

ps:Vue 时间过滤器

Vue里的 时间过滤器:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://unpkg.com/vue"></script>
</head>
<body>
<div id="app">
<div>
 {{ message | formatTime('YMD')}}
</div>
<div>
{{ message | formatTime('YMDHMS')}}
</div>
  <div>
  {{ message | formatTime('HMS')}}
  </div>
  <div>
  {{ message | formatTime('YM')}}
  </div>
  </div>

元素的补零计算:

<script>
//元素的补零计算
function addZero(val){
 if(val < 10){
 return "0" +val;
 }else{
 return val;
 }
};

console.log(addZero(9))

//实现vue中的过滤器功能 先定义过滤器 在使用    value是过滤器前面的值,type是过滤器中定义的字段
Vue.filter("formatTime",function(value,type){
var dataTime="";
var data = new Date(); 
       data.setTime(value); 
   var year  = data.getFullYear(); 
       var month = addZero(data.getMonth() + 1); 
       var day  = addZero(data.getDate()); 
       var hour  = addZero(data.getHours());
var minute = addZero(data.getMinutes());
var second = addZero(data.getSeconds());
if(type == "YMD"){
dataTime = year + "-"+ month + "-" + day;
}else if(type == "YMDHMS"){
dataTime = year + "-"+month + "-" + day + " " +hour+ ":"+minute+":" +second;
}else if(type == "HMS"){
dataTime = hour+":" + minute+":" + second;
}else if(type == "YM"){
dataTime = year + "-" + month;

}
return dataTime;//将格式化后的字符串输出到前端显示
});


var app = new Vue({
 el: '#app',
 data: {
  message: '1501068985877'
 }
     });
</script>

总结

以上所述是小编给大家介绍的Vue filter 过滤当前时间 实现实时更新,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
Javascript 函数对象的多重身份
Jun 28 Javascript
Jquery 表单验证类介绍与实例
Jun 09 Javascript
js防止表单重复提交的两种方法
Sep 30 Javascript
javascript下拉列表菜单的实现方法
Nov 18 Javascript
Bootstrap每天必学之缩略图与警示窗
Nov 29 Javascript
Bootstrap登陆注册页面开发教程
Jul 12 Javascript
超实用的javascript时间处理总结
Aug 16 Javascript
BootStrap modal模态弹窗使用小结
Oct 26 Javascript
微信小程序 向左滑动删除功能的实现
Mar 10 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
Sep 19 Javascript
JS highcharts动态柱状图原理及实现
Oct 16 Javascript
关于uniApp editor微信滑动问题
Jan 15 Javascript
使用JavaScript计算前一天和后一天的思路详解
Dec 20 #Javascript
js正则匹配多个全部数据问题
Dec 20 #Javascript
微信小程序按顺序同步执行的两种方式
Dec 20 #Javascript
Vuex实现数据共享的方法
Dec 20 #Javascript
React 实现车牌键盘的示例代码
Dec 20 #Javascript
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 #jQuery
JavaScript实现简单计算器功能
Dec 19 #Javascript
You might like
php取得字符串首字母的方法
2015/03/25 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JS未跨域操作iframe里的DOM
2016/06/01 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
python实现系统状态监测和故障转移实例方法
2013/11/18 Python
python处理按钮消息的实例详解
2017/07/11 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
2018/04/17 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
python中eval与int的区别浅析
2019/08/11 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
爱国卫生月活动总结范文
2014/04/25 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS
图文详解matlab原始处理图像几何变换
2021/07/09 Python
Js类的构建与继承案例详解
2021/09/15 Javascript