Vue-23、Vue过滤器

1、效果

2、过滤器实现

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过滤器</title>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script type="text/javascript" src="./js/dayjs.min.js"></script>
    <style>

    </style>
</head>
<body>
<div id="root">
    <h1>显示格式化后的时间</h1>
    <!---->
    <h2>现在是:{{time| timeFormater}}</h2>


</div>
<script type="text/javascript">
    Vue.config.productionTip=false;
    new Vue({
        el:"#root",
        data:{
            time:1705392226413,
        },
        filters:{
            timeFormater(value){
                console.log(value);
                return dayjs(value).format('YYYY年MM月DD日 HH:mm:ss')
            }
        }

    })
</script>
</body>
</html>

3、过滤器传参

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过滤器</title>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script type="text/javascript" src="./js/dayjs.min.js"></script>
    <style>

    </style>
</head>
<body>
<div id="root">
    <h1>显示格式化后的时间</h1>
    <!--过滤器实现-->
    <h2>现在是:{{time| timeFormater}}</h2>
    <!--过滤器实现传参-->
    <h2>现在是:{{time| timeFormater2('YYYY-MM-DD')}}</h2>
</div>
<script type="text/javascript">
    Vue.config.productionTip=false;
    new Vue({
        el:"#root",
        data:{
            time:1705392226413,
        },
        filters:{
            timeFormater(value){
                console.log(value);
                return dayjs(value).format('YYYY年MM月DD日 HH:mm:ss')
            },

            timeFormater2(value,str){
                return dayjs(value).format(str)
            }
            
            
        }

    })
</script>
</body>
</html>

3、多个过滤器

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过滤器</title>
    <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script type="text/javascript" src="./js/dayjs.min.js"></script>
    <style>

    </style>
</head>
<body>
<div id="root">
    <h1>显示格式化后的时间</h1>
    <!--过滤器实现-->
    <h2>现在是:{{time| timeFormater}}</h2>
    <!--过滤器实现传参-->
    <h2>现在是:{{time| timeFormater2('YYYY-MM-DD')}}</h2>

    <!--多个过滤器-->
    <h2>现在是:{{time| timeFormater | timeFormater3}}</h2>

</div>
<script type="text/javascript">
    Vue.config.productionTip=false;
    new Vue({
        el:"#root",
        data:{
            time:1705392226413,
        },
        filters:{
            timeFormater(value){
                console.log(value);
                return dayjs(value).format('YYYY年MM月DD日 HH:mm:ss')
            },

            timeFormater2(value,str){
                return dayjs(value).format(str)
            },

            timeFormater3(value){
                return value.slice(0,4)
            }
        }

    })
</script>
</body>
</html>

4、全局过滤器

javascript 复制代码
Vue.filter('myFileter',function (value) {
        return value.slice(0,4)
    });

总结:

相关推荐
福兮说7 小时前
纯前端把图片压缩到指定体积:canvas.toBlob 配合二分查找
前端·javascript·canvas·图片处理
是立不是利7 小时前
CSS 入门与进阶:从选择器到响应式布局的完整指南
前端·css
镭立智能制造7 小时前
电线电缆换线频繁?MES系统如何缩短换线时间40%
前端·制造
志尊宝7 小时前
Vue3 零基础每日笔记(018):按键与鼠标修饰符——回车搜索、Ctrl+S 保存这样写
javascript·vue.js·笔记
Amos_Web8 小时前
Rspack 源码解析(五):CodeGenerationPass 与模块代码生成
前端·前端框架·源码阅读
八荒启·交互动画8 小时前
Web特效06——WebGL深挖:顶点着色器和片元着色器到底在干什么
前端·网页特效·八荒启-交互动画·八荒启
这锅我不背哈8 小时前
前端权限控制实践:基于 RBAC 的完整落地方案
前端
可乐鸡翅yeah_8 小时前
HLS流媒体首屏起播慢深度优化,从分片、索引、播放器全链路调优
开发语言·javascript·ecmascript·m3u8·m3u8在线
星空8 小时前
Map<String, String>`Map`是接口,不能直接 new
java·前端·算法
开开心心就好8 小时前
低年级识字练笔顺工具,电脑和安卓端都能用
前端·javascript·网络·安全·scala·erlang·语音识别