<body> <script src='https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js'></script> <div id='myApp'> <div>有一些数据直接渲染不符合要求: {{time}}</div> <div>1, 可以使用内置函数处理数据: {{time.toLocaleString()}}</div> <div>2, 可以调用自定义函数处理数据: {{timeFormat(time)}} </div> <div>3, 可以使用vue过滤器处理数据: {{time | timeFilter1}}</div> <h3>过滤器函数和普通函数的区别: </h3> <ol> <li>过滤器函数定义在filters字段中,普通函数定义在methods字段中</li> <li>普通函数直接调用, 过滤器掉用: { {数据 | 过滤器} }</li> <li>过滤器可以连续调用, {{time | timeFilter1 | timeFilter2}}</li> <li>过滤器调用时不需要传参, 参数默认是|前的值, 如果加参数, 这个参数会传入第二个形参处{{time | timeFilter1("郑州")}}</li> </ol> </div> <script> new Vue({ el: '#myApp', data: { time: new Date() }, // filters 字段用于定义过滤器, 里边放一些函数,用于数据处理 filters:{ timeFilter1(time, city){ console.log(city) return `${time.getFullYear()}年 ${time.getMonth()+1}月 ${time.getDate()}日` }, timeFilter2(time){ return "北京时间: " + time } }, methods: { timeFormat(time){ return `${time.getFullYear()}年 ${time.getMonth()+1}月 ${time.getDate()}日` } } }) </script></body>