Vue 中计算属性的 setter 和 getter

栏目: JavaScript · 发布时间: 7年前

内容简介:计算属性其实是非常强大的,这一节深入的学习下计算属性,先看一段代码:插值表达式计算属性中的

计算属性其实是非常强大的,这一节深入的学习下计算属性,先看一段代码:

<div id="app">
    {{fullName}}
</div>
let vm = new Vue({
    el: '#app',
    data: {
        firstName: 'Dell',
        lastName: 'Lee'
    },
    computed: {
        fullName(){
            return this.firstName + ' ' + this.lastName
        }
    }
})

插值表达式 {{fullName}} 首先回去 data 中去找 fullName 这个属性,找不到再去计算属性中去找,找到之后在将它显示在页面之中。

计算属性中的 fullName 我们换一种写法:

<div id="app">
    {{fullName}}
</div>
let vm = new Vue({
    el: '#app',
    data: {
        firstName: 'Dell',
        lastName: 'Lee'
    },
    computed: {
        fullName:{
            get(){
                return this.firstName + ' ' + this.lastName
            },
            set(value){
                var arr = value.split(' ')
                this.firstName = arr[0]
                this.lastName = arr[1]
            }
        }
    }
})

当我去使用这个计算属性的时候,调用插值表达式,去读这个内容,它就会走 get 的方法

当我去设置这个属性属性值的时候, set 方法会被执行,同时会拿到设置的这个值,我就可以通过这个值去设置 firstName 和 lastName 。

computed 有这样一个特性,它呢什么时候会重新计算,当它依赖的值发生变化时,它就会重新去计算 ,重新计算之后,那么你看,当你 set fullName 时, this.firstName 的值就会发生变化,恰好这个值又是 fullName 所依赖的一个值,所以就会引起 fullName 的重新计算,重新计算之后, fullName 的值变了,页面上显示的 fullName 也就跟着变了。


以上所述就是小编给大家介绍的《Vue 中计算属性的 setter 和 getter》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

爆款:如何打造超级IP

爆款:如何打造超级IP

【美】安妮塔•埃尔伯斯 / 杨雨 / 中信出版社 / 2016-1-10 / 49

哈佛商学院IP运营与产品管理方法论第一书,翻转长尾理论的重要著作! 电影大片、当红炸子鸡、百万畅销书背后的运营逻辑是什么? 《五十度灰》、Lady Gaga、维多利亚的秘密有何共同秘密? 漫威如何将蜘蛛侠、X战警、绿巨人打造成金矿? 皇马如何打造体育IP,一跃成为全球收 入最高的足球俱乐部? 爆款策略如何运用于电影、电视、音乐、出版、体育与商业各领域? ----......一起来看看 《爆款:如何打造超级IP》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

SHA 加密
SHA 加密

SHA 加密工具