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实现找出字符串中第一个不重复的字符
Sep 03 Javascript
js针对ip地址、子网掩码、网关的逻辑性判断
Jan 06 Javascript
JQuery ztree带筛选、异步加载实例讲解
Feb 25 Javascript
Vue.js组件使用开发实例教程
Nov 01 Javascript
利用jQuery实现一个简单的表格上下翻页效果
Mar 14 Javascript
基于node.js之调试器详解
Aug 22 Javascript
微信小程序实现图片上传、删除和预览功能的方法
Dec 18 Javascript
理解Koa2中的async&amp;await的用法
Feb 05 Javascript
VueCli3构建TS项目的方法步骤
Nov 07 Javascript
vue实现设置载入动画和初始化页面动画效果
Oct 28 Javascript
vue 在methods中调用mounted的实现操作
Aug 07 Javascript
vue设置全局访问接口API地址操作
Aug 14 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中使用gettext来支持多语言的方法
2011/05/02 PHP
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
美图秀秀web开放平台--PHP流式上传和表单上传示例分享
2014/06/22 PHP
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
三个js循环的关键字示例(for与while)
2016/02/16 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
详解Node.js中的Async和Await函数
2018/02/22 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
js 函数性能比较方法
2020/08/24 Javascript
Python导入txt数据到mysql的方法
2015/04/08 Python
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
numpy.random模块用法总结
2019/05/27 Python
python 随机森林算法及其优化详解
2019/07/11 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
通过实例解析Python return运行原理
2020/03/04 Python
pycharm部署、配置anaconda环境的教程
2020/03/24 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
突袭HTML5之Javascript API扩展3—本地存储全新体验
2013/01/31 HTML / CSS
英国钻石公司:British Diamond Company
2020/02/16 全球购物
市场拓展计划书
2014/05/03 职场文书
学雷锋标语
2014/06/25 职场文书
群众路线教师自我剖析材料
2014/09/29 职场文书
初中政治教学工作总结
2015/08/13 职场文书
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技