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

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. node升级的正确方法

    本文主要是针对安装了node的用户如何对node进行升级或者安装指定版本:没有安装node的可以参考连接node安装方法 . 安装方法: 1.产看node版本,没安装的请先安装: $  node -v ...

  2. jenkins搭配git 从远程端拉取代码回来执行的问题

    jenkins上git 拉取回来的代码是在 工作区的文件夹里面(默认每次拉取最新的版本下来的)(不是自己本地仓库的那个)  (晕~~,一开始以为是拉取回自己的本地仓库) 找到jenkins git里面 ...

  3. NFS服务配置

    FS服务会经常用于在网络上共享存储. 比如有3台机子A,B,C;他们都需要访问同一个目录,使用NFS, 只需要把图片都放在A上,然后A共享给B和C即可. 访问B和C时,是通过网络的方式访问A上的哪个目 ...

  4. cenos 7.2 网卡设置静态ip

    1.vi /etc/sysconfig/network-scripts/ifcfg-ens32 (网卡名称可能不一样)vi 编辑 TYPE="Ethernet" BOOTPROTO ...

  5. 红黑树Python实现

    # coding=utf-8 # 红黑树Python实现 # 颜色常量 RED = 0 BLACK = 1 def left_rotate(tree, node): if not node.right ...

  6. Tomcat的目录结构详细介绍(超全)

    打开tomcat的解压之后的目录可以看到如下的目录结构:  1.bin: bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(w ...

  7. javac编译错误: 编码UTF8/GBK的不可映射字符

    转自:https://blog.csdn.net/leytton/article/details/52740171 Linux下为UTF-8编码,javac编译gbk编码的java文件时,容易出现“错 ...

  8. cv2的安装

    第一种 ,直接尝试 pip install cv2 ,大可能报错. 第二种,pip install opencv-python ,大概率 直接成功. 第三种 ,去网上下包 放到 sit_package ...

  9. linux 查看端口被占用

    linux 查看端口被占用 1.lsof  -i : 端口号 用于查看某一端口的占用情况,比如查看8080端口使用情况,lsof  -i:8080 如果执行 lsof  -i:8080 系统提示 :  ...

  10. 32. linux下oracle数据库定时备份

    这里以oradatabak.sh(里面的内容要根据实际修改)脚本放在/u01/11g/datapump下为例: #1.添加脚本执行权限 chmod +x /u01/11g/datapump/orada ...