文章目录
一、Vue的计算属性
computed
,是以函数形式来实现数据计算功能,函数都必须写在computed
属性下。
在 Vue 应用中,在模板中双向绑定一些数据或者表达式,但是表达式如果过长,或者逻辑更为复杂时,就会变得臃肿甚至难以维护和阅读,比如
<div>{
{
text.split(',').reverse().join(',')}}</div>
这里表达式包含三个操作,并不是很清晰,所以在遇到复杂的逻辑时应该使用计算属性。 上例可以用计算属性进行改写:
computed: {
ReversedText: function (){
//所有计算属性都以函数的形式写在 Vue 实例内的 computed 选项内,最终返回计算后的结果
return this.text.split(',').reverse().join(',')
}
}
计算属性的缓存
一个计算属性所依赖的数据发生变化时,他才会重新取值,所以依赖的数据只要不改变,计算属性也就不更新。使用计算属性还是 methods 取决于是否需要缓存,当遍历大数组和做大量计算时,应当使用计算属性。
<body>
<div id='app'>
<label>
firstname:<input type="text" v-model='firstname'>
</label><br><br>
<label>
lastname:<input type="text" v-model='lastname'>
</label><br><br>
全名:{
{
fullname}}
</div>
<script>
new Vue({
el:'#app',
data:{
firstname:'',
lastname:''
}