Vue. 支持在{ { } }插值的尾部添加一小管道符 “ | ” 对数据进行过滤,经常用于格式化文本,比如字母全部大写、货币千位使用逗号分隔等。过滤的规则是自定义 的,
通过给 Vue 实例添加选项 filters 来设置 过滤器:{{ data | filter1 |filter2}} {{date | formatDate(66,99)}} 中的第一个和第二个参数,分别对应过滤器的第二个和 第三个参数
//数据和过滤器名字用管道符 | 分隔//因为在 Vue 实例中注册了过滤器,插值的时候只要写上过滤器名字即可{{date | 过滤器名字}}//过滤器串联//注意:过滤器串联时,filters 对象里面要写多个过滤器{{date | filters1 | filters2}}//过滤器传参{{date | filtratorDate(66,99)}}filters: {filtratorDate: function (value, a, b) {return a + b}//(66+99) 16566对应 过滤器参数a99对应 过滤器参数bvalue 对应 date


div id="app">{{date}}<br>{{date | filtratorDate}}</div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>//需求:在页面中实时显示当前时间let app = new Vue({el: '#app',data: {date: new Date()},filters: {filtratorDate: function (value) {const date = new Date(value);const year = date.getFullYear()const month = date.getMonth()const day = date.getDate()const hours = date.getHours()const min = date.getMinutes()const seconds = date.getSeconds()return year + '年' + month + '月' + day + '日' + hours + '时' + min + '分' + seconds + '秒'}},mounted: function () {let _this = this; //this 代表 Vue 实例//setInterval()定时器this.timer = setInterval(function () {_this.date = new Date()}, 1000)},beforeDestroy: function () {if (this.timer) {clearInterval()}},});</script>
