关于前端:VUE中-filterscomputedmethodswatch用法

53次阅读

共计 916 个字符,预计需要花费 3 分钟才能阅读完成。

过滤器 filters
可被用于一些常见的文本格式化
获取不到 this
能够承受参数
计算属性 comuted
对于任何简单逻辑,你都该当应用计算属性
计算缓存
能够获取 this
不能够承受参数
办法 methods

侦听器 watch
当须要在数据变动时执行异步或开销较大的操作时
!!! 慎用
<template>

<div>
    <div>{{status}}</div>

    <div>{{statusMethod(status)}}</div>

    <div>{{statusComputed}}</div>

    <div>{{status | statusFilter}}</div>

    <div v-if="show">{{sum}}</div>

    <button @click="cliskC">click{{s}}</button>
</div>

</template>

<script>

export default {data() {
        return {
            show: false,
            s: '',
            j: 0,
            status: '2',
            statusMap: {
                '1': '开始',
                '2': '进行中',
                '3': '完结'
            }
        }
    },
    mounted() {setTimeout(() => {this.show = true;}, 3000)
    },
    computed: {statusComputed() {return this.statusMap[this.status]
        },
        sum() {console.log(new Date().getTime())
            var sum = 0;
            for(let i=0; i< 900000000; i++){sum+=i;}
            console.log(new Date().getTime())
            return sum  + this.j;
        }
    },
    methods: {statusMethod(status) {return this.statusMap[status]
        },
        cliskC() {
            this.j++;
            this.s = this.sum;
        }
    },
    filters: {statusFilter(status) {
            let statusMap = {
                '1': '开始',
                '2': '进行中',
                '3': '完结'
            }
            return statusMap[status]
        }
    }
}

</script>

正文完
 0