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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
卓有成效的程序员
Neal Ford / 熊节 / 机械工业出版社 / 2009-3 / 45.00元
《卓有成效的程序员》就是讲述如何在开发软件的过程中变得更加高效。同时,《卓有成效的程序员》的讲述将会跨语言和操作系统:很多技巧的讲述都会伴随多种程序语言的例子,并且会跨越三种主要的操作系统,Windows(多个版本),Mac OS X以及 *-nix (Unix或者Linux)。 《卓有成效的程序员》讨论的是程序员个体的生产力,而不是团队的生产力问题,所以它不会涉及方法论(好吧,可能总会在......一起来看看 《卓有成效的程序员》 这本书的介绍吧!