前端小白入门Vue之计算属性

前言

首先了解为什么要引入计算属性
举例:

    <div id="app">
        <div>户籍:{{province + city}}</div>
        <div>居住地:{{province + city}}</div>
    </div>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {
                province: "xx省",
                city: "xx市"
            }
        })
    </script>

从代码中我们可以看到,每次都需要调用去计算province+city值,非常降低效率,对于这种重复调用的计算,我们可以采用Vue为我们提供的计算属性,从而无需重复计算,将计算之后的值保存起来。


一、计算属性的语法

引入computed,定义一个计算函数region:

    <div id="app">
        <!-- 示例1 -->
        <div>户籍:{{province + city}}</div>
        <div>居住地:{{province + city}}</div>
        <h3>计算属性:</h3>
        <!-- 示例2 -->
        <div>户籍:{{region}}</div>
        <div>居住地:{{region}}</div>
    </div>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {
                province: "xy省",
                city: "xx市"
            },
            computed: {

                region: {
                    get: function () {
                        return this.province + this.city
                    }
                }
            }
        })
    </script>

在这里插入图片描述

这样调用时就不用重复计算,从而提高效率。

二、数据变动

可能有同学会想到如果计算的值发生变化,那计算属性还会有作用吗?
计算属性会自动检测数据是否更新,如果存在更新,就重新进行计算保存。

1.计算属性之get

计算属性中的默认方法,数据更新后,get方法会自动获取新值

    <div id="app">
        <div>户籍:{{region}}</div>
        <div>居住地:{{region}}</div>
    </div>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {
                province: "xy省",
                city: "xx市"
            },
            computed: {
                region: {
                    get: function () {
                        return this.province + this.city
                    },
                }
            }
        })
    </script>

2.计算属性之set

通过set方法,设置(value)值,来改变region所相广联的值,从而使其更新。

    <div id="app">
        <div>户籍:{{region}}</div>
        <div>居住地:{{region}}</div>
    </div>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {
                province: "xy省",
                city: "xx市"
            },
            computed: {
                region: {
                    get: function () {
                        return this.province + this.city
                    },
                    set: function (value) {
                        var arr = value.split(" ");
                        this.province = arr[0];
                        this.city = arr[1];
                    }
                }
            }
        })
    </script>

我们到控制台进行属性值的改变
在这里插入图片描述
从而也就达到数据的更新
在这里插入图片描述
set方法大家可以实践进行理解。

三、数据监听

计算属性能自动获取数据是否更新,它为什么知道数据更新了呢?下一篇,介绍Vue的侦听器,学习侦听数据是否更新。

总结

1.计算属性可以有效提高页面效率,使其计算的值,进行一次保存,不用每次都进行计算过。
2.我们可以采用set方法对数据进行更改更新。
3.get方法用于获取更新后的数据。

今日推荐

免费PPT模板网站:优品PPT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值