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)
    });

总结:

相关推荐
Csvn7 分钟前
Monorepo 迁移血泪史:从 Multi-Repo 到 Turborepo,这 3 个坑我帮你踩完了
前端
星栈24 分钟前
Dioxus 多页面怎么做:`dioxus-router`、嵌套路由、`Outlet` 和页面组织,一篇给你讲顺
前端·rust·前端框架
用户9874092388729 分钟前
用 Remotion + edge-tts 打造中文教学视频全自动流水线
前端
风骏时光牛马30 分钟前
Less前端工程化实战:变量混合器与项目样式分层落地
前端
假如让我当三天老蒯33 分钟前
Options API(选项式 API) 和 Composition API(组合式 API)
前端·vue.js·面试
SameX35 分钟前
iOS 独立开发实践:用 MapKit + 像素渲染实现 Citywalk 轨迹地图 App「雁过留痕」
前端
_柳青杨35 分钟前
一文吃透 Node.js 事件循环:从原理到 Node 20+ 重大变更
javascript·后端
skyey1 小时前
页面加载时,深色模式闪白的问题解决
前端
IT_陈寒1 小时前
Java 并行流把我坑惨了,这6小时加班值了
前端·人工智能·后端
anOnion11 小时前
构建无障碍组件之Menu Button pattern
前端·html·交互设计