七、VUE过滤器

发布于:2024-05-10 ⋅ 阅读:(28) ⋅ 点赞:(0)

一、初识VUE
二、再识VUE-MVVM
三、VUE数据代理
四、VUE事件处理
五、VUE计算属性
六、Vue监视属性
七、VUE过滤器
七、VUE内置指令
九、VUE组件

过滤器:

  • 对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理)。
    语法:
  • 注册过滤器:Vue.filter(name,callback) 或 new Vue{filters:{}}
  • 使用过滤器:{{ xxx | 过滤器名}} 或 v-bind:属性 = “xxx | 过滤器名”

过滤器也可以接收额外参数、多个过滤器也可以串联

并没有改变原本的数据, 是产生新的对应的数据

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>vue中过滤器</title>
    <script src="./vue.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/dayjs/1.10.6/dayjs.min.js"></script>
</head>
<body>
<div id="root">

    <h1>显示格式化后的时间</h1>

    <!--计算属性实现-->
    <h2>现在是:{{ fmtTime }}</h2>

    <!--methods实现-->
    <h2>现在是{{ getFmtTime() }}</h2>

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

    <!--过滤器也可以传递参数-->
    <h2>现在是:{{ time | timeFormater('YYYY-MM-DD') | mySlice }}</h2>

    <h3 >{{ msg | mySlice }}</h3>

</div>
<script type="text/javascript">
    //自定义过滤器 要new vue实例之前确定
    Vue.filter('mySlice', function (val){
        return val.slice(0,4);
    });

   const vm =new Vue({
       el: "#root",
        data (){
            return {
                time: 1714375137000,
                msg: "你好世界!"
            }
        },
       computed:{
           fmtTime(){
               return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss')
           }
       },
       methods:{
           getFmtTime(){
               return dayjs(this.time).format('YYYY-MM-DD HH:mm:ss')
           }
       },
       filters:{
           timeFormater(val, formate = 'YYYY-MM-DD HH:mm:ss'){
               return dayjs(val).format(formate)
           }
       }
    })



</script>
</body>
</html>

网站公告

今日签到

点亮在社区的每一天
去签到