这篇文章主要介绍Vue中filter过滤当前时间实现实时更新效果的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
过滤器
过滤器是处于客户端与服务器资源文件之间的一道过滤网,在访问资源文件之前,通过一系列的过滤器对请求进行修改、判断等,把不符合规则的请求在中途拦截或修改。也可以对响应进行过滤,拦截或修改响应。
下面通过代码给大家介绍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具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。
以上是“Vue中filter过滤当前时间实现实时更新效果的示例”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。