计算属性:用来封装你想对一个属性进行的操作

computed VS mothod实现的效果和定义一个methods中的function相同,但是他们的区别在于:methods的function当触发重新渲染时总会重新执行,而计算属性是基于他们的依赖进行缓存的,只有在它的相关依赖进行改变时才会改变,这就意味着它的相关依赖没有发生改变时就算触发重新渲染也不会执行该函数,我们为什么需要缓存?假设我们有一个性能开销比较大的的计算属性 A,它需要遍历一个巨大的数组并做大量的计算。然后我们可能有其他的计算属性依赖于 A 。如果没有缓存,我们将不可避免的多次执行 A 的 getter!如果你不希望有缓存,请用方法来替代。

computed VS $watch(侦听属性) 侦听属性用于观察和响应 所依赖的实例上的改变,它的原理和computed相同,都是依赖改变时做出响应,但是区别在于有时候用computed代码量会很简洁很清晰但是用侦听属性可能需要写重复的代码如:

watch: {
  firstName: function (val) {
  this.fullName = val + ' ' + this.lastName
  },
  lastName: function (val) {
  this.fullName = this.firstName + ' ' + val
  }
}侦听属性
 
computed: {
  fullName: function () {
  return this.firstName + ' ' + this.lastName
  }
}计算属性
计算属性实际上默认内部是一个get函数,但是有时候我们需要改变它而引起别的值的改变,这时候我们需要实现一个setter 如:

var myVue = new Vue({
  el:'#app',
  data:{
    firstname:'pian',
    lastname:'ruijie'
  },
computed: {
  fullname:{  
    get: function(){
    return this.firstname +' '+ this.lastname
     },
    set: function(newvalue){
    var name = newvalue.split(' ')
    this.firstname = name[0]
    this.lastname = name[name.length-1]
   }
  }
}

这样当改变fullname的值的时候,firstname和lastname也会做出改变。

 
                                                    

vue-computed计算属性的更多相关文章

  1. 深入理解 Vue Computed 计算属性

    Computed 计算属性是 Vue 中常用的一个功能,我们今天来说一下他的执行过长 拿官网简单的例子来看一下: <div id="example"> <p> ...

  2. vue computed计算属性 watch监听

    计算属性 computed:{ 变量:function(){ return 计算好的值 } } 这时候计算好的值 就付给了你的变量 在实例中可以this.使用 注意 声明的变量的data中不可以重复声 ...

  3. vue computed计算属性和watch监听属性解疑答惑

    computed计算属性     计算属性类似于方法,用于输出data中定义的属性数据的结果,data数据变化时,计算属性的结果会同步变化,需要注意的是计算属性不可与data定义的属性同名. 相比于方 ...

  4. vue中计算属性computed方法内传参

    vue中computed计算属性无法直接进行传参 如果有传参数的需求比如说做数据筛选功能可以使用闭包函数(也叫匿名函数)实现 例如: 在上篇博客vue安装使用最后的成绩表练习中的过滤功能的实现: &l ...

  5. vue的计算属性computed和监听器watch

    <template> <div> this is A.vue <br> <!--计算属性--> <label for="msg" ...

  6. Vue之computed计算属性

    demo.html <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/19 ...

  7. Vue(七):computed计算属性

    简介 计算属性关键词: computed. 计算属性在处理一些复杂逻辑时是很有用的. 实例1 可以看下以下反转字符串的例子: <div id="app"> {{ mes ...

  8. Vue的computed计算属性是如何实现的

    一个开始 有如下代码,full是一个计算属性,开始,他的值是'hello world',1s后,msg变成了‘I like’, full的值同步变成了'I like world';其原理解析来看一下. ...

  9. 043——VUE中组件之使用.sync修饰符与computed计算属性实现购物车原理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. Vue.js 计算属性(computed)

    Vue.js 计算属性(computed) 如果在模板中使用一些复杂的表达式,会让模板显得过于繁重,且后期难以维护.对此,vue.js 提供了计算属性(computed),你可以把这些复杂的表达式写到 ...

随机推荐

  1. nodeppt:网页版 PPT

    资料 网址 github https://github.com/ksky521/nodeppt 网页版PPT(nodeppt 的介绍) http://deliazhi.com/2017/03/31/W ...

  2. PHP批量保存图片到服务器再上传阿里云

    /* * 批量传输产品主图到阿里云 */ public function transferImage(){ $num = 50; $p = isset($this->request->ge ...

  3. python开发计算器

    1 业务需求 1.1 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16- ...

  4. redis集群设置密码

    redis集群密码设置 1.密码设置(推荐)方式一:修改所有Redis集群中的redis.conf文件加入:  masterauth passwd123 requirepass passwd123 说 ...

  5. 在 iOS 上通过 802.11k、802.11r 和 802.11v 实现 Wi-Fi 网络漫游

    原文: https://support.apple.com/zh-cn/HT202628 了解 iOS 如何使用 Wi-Fi 网络标准提升客户端漫游性能.   iOS 支持在企业级 Wi-Fi 网络上 ...

  6. HTTPS如何保证数据传输的安全性 -- 结合加密

    什么是HTTPS: HTTP就是我们平时浏览网页时候使用的一种协议 HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证这些隐私数据能加密传输,于是网 ...

  7. PHP chdir函数:改变当前的目录

    PHP chdir函数的作用是改变当前的目录,这里主机吧详细介绍下chdir函数的用法,并列举使用chdir函数的例子. chdir定义和用法: chdir() 函数改变当前的目录. chdir实例: ...

  8. Vue-cli3.0开发笔记

    安装 npm install -g @vue/cli # OR yarn global add @vue/cli 版本为3.X vue --version 创建项目 vue create hello- ...

  9. Android 最简单的MVP案例;

    随手撸个发出来: V:界面层 //界面层需要实现P.View方法,然后重写P.View中的方法:M层给的数据就在这些个方法的参数中: // 还要获取到P.Provide的实例,使用P.Provide去 ...

  10. 202. 阿里Pandora Boot

      [视频&交流平台] àSpringBoot视频:http://t.cn/R3QepWG à SpringCloud视频:http://t.cn/R3QeRZc à Spring Boot源 ...