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

时间:2021-05-26

过滤器

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

下面通过代码给大家介绍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 过滤当前时间 实现实时更新,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章