vue学习【过滤器的简单应用】

 以下是一个将浏览器默认时间格式格式化的例子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过滤器</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<!-- | 是管道符,可以对前面的数据进行过滤,一般用于格式化数据,eg,货币(1,000,000)-->
<div id="root">
    {{date | formatDate}}
</div>
<script>
    // 在时间小于10前补0
    var padDate = function (value) {
        return value < 10 ? '0' + value : value;
    }
    var app = new Vue({
        el: "#root",
        data: {
            date: new Date()
        },
        /*过滤器*/
        filters: {
            formatDate: function (value) {
                var date = new Date(value);
                var year = date.getFullYear();
                var month = padDate(date.getMonth());
                var day = padDate(date.getDay());
                var hour = padDate(date.getHours());
                var minutes = padDate(date.getMinutes());
                var seconds = padDate(date.getSeconds());
                return year + '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds;
            }
        },
        /*挂载完成,html页面渲染完毕,一半做一些Ajax操作,只执行一次*/
        mounted: function () {
            var _this = this;
            this.timer = setInterval(function () {
                _this.date = new Date();
            }, 1000);
        },
        beforeDestory: function () {
            if (this.timer) {
                clearInterval(this.timer);// 在vue实例销毁前清楚定时器
            }
        }
    })
</script>

</body>
</html>
  • 在vue中使用过滤器,要注意!只是改变了在前端页面渲染的格式,而不会改变数据的存储的格式
  • 全局过滤器定义必须始终位于Vue实例之上,否则你将会得到一个“Failed to resolve filter: XXX”的错误信息。
  • 过滤器串联
{{text | filter1 | filter2}}
  • 过滤器接受参数 【js中接受的参数,第一个始终是value,传入的参数是第2,3,4....个参数】
{{text | filter('arg1','arg2')}}

猜你喜欢

转载自blog.csdn.net/qq_33866063/article/details/89204950
今日推荐