vue.js学习——计算属性

一、为什么会有计算属性

在vue项目中遇到这样的情况,绑定的表达式需要经过复杂的逻辑,而这个表达式依赖于当前vue实例的数据属性,这个时候用计算属性,从而变的更清晰。

<div id="app">
  <p> {{ reversedText}}</p>
</div>
 
<script>
var vm = new Vue({
  el: '#app',
  data: {
   text:'hello world!'
  },
  computed: {
    // 计算属性的 getter函数
    reversedText: function () {
      // `this` 指向 vm 实例
      return this.text.split('').reverse().join(' ');
    }
  }
})
</script>

二、什么是计算属性呢

在计算属性里,可以完成很多复杂的逻辑,比如函数的调用、运算等,最终只返回一个结果。总结一下计算属性的特点:

1、计算属性依赖一个或者多个vue实例中的数据属性

2、任意一个数据属性发生变化,计算属性便会重新计算,从而更新视图

关于计算属性的深层:

可以看到上面例子中,注释里面提到计算属性的getter函数,其实每个计算属性都包含一个getter和setter,我上述例子中使用的是计算属性的默认用法,只有getter函数。当手动修改计算属性的值的时候,就会触发setter函数,进行一些自定义的操作。

<div id="app">
  <p>firstName: {{ firstName}}</p>
  <p>lastName: {{ lastName}}</p>
  <p>fullName: {{ fullName}}</p>
</div>
 
<script>
var vm = new Vue({
  el: '#app',
  data: {
    firstName: 'John',
    lastName: 'Doe!'
  },
  computed: {
    // 计算属性的 getter
    fullName:{

       getter:function () {
         return this.firstName + ' '+ this.firstName;
       },
       setter:function (value) {
         var names = value.split(' ');
         this.firstName = names[0];
         this.lastName = names[names.length-1];
       }
    } 
  }
})
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值