Vue. 支持在{ { } }插值的尾部添加一小管道符 “ | ” 对数据进行过滤,经常用于格式化文本,比如字母全部大写、货币千位使用逗号分隔等。过滤的规则是自定义 的,
    通过给 Vue 实例添加选项 filters 来设置 过滤器:{{ data | filter1 |filter2}} {{date | formatDate(66,99)}} 中的第一个和第二个参数,分别对应过滤器的第二个和 第三个参数

    1. //数据和过滤器名字用管道符 | 分隔
    2. //因为在 Vue 实例中注册了过滤器,插值的时候只要写上过滤器名字即可
    3. {{date | 过滤器名字}}
    4. //过滤器串联
    5. //注意:过滤器串联时,filters 对象里面要写多个过滤器
    6. {{date | filters1 | filters2}}
    7. //过滤器传参
    8. {{date | filtratorDate(66,99)}}
    9. filters: {
    10. filtratorDate: function (value, a, b) {
    11. return a + b
    12. }//(66+99) 165
    13. 66对应 过滤器参数a
    14. 99对应 过滤器参数b
    15. value 对应 date

    image.png
    image.png

    1. div id="app">
    2. {{date}}<br>
    3. {{date | filtratorDate}}
    4. </div>
    5. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    6. <script>
    7. //需求:在页面中实时显示当前时间
    8. let app = new Vue({
    9. el: '#app',
    10. data: {
    11. date: new Date()
    12. },
    13. filters: {
    14. filtratorDate: function (value) {
    15. const date = new Date(value);
    16. const year = date.getFullYear()
    17. const month = date.getMonth()
    18. const day = date.getDate()
    19. const hours = date.getHours()
    20. const min = date.getMinutes()
    21. const seconds = date.getSeconds()
    22. return year + '年' + month + '月' + day + '日' + hours + '时' + min + '分' + seconds + '秒'
    23. }
    24. },
    25. mounted: function () {
    26. let _this = this; //this 代表 Vue 实例
    27. //setInterval()定时器
    28. this.timer = setInterval(function () {
    29. _this.date = new Date()
    30. }, 1000)
    31. },
    32. beforeDestroy: function () {
    33. if (this.timer) {
    34. clearInterval()
    35. }
    36. },
    37. });
    38. </script>