vue数据监测

原理:

  • vue会监视data中所有层次的数据。
  • 如何监测对象中的数据?
    • 通过setter实现监视,且要在new Vue时就穿入要监测的数据 。
      • 对象中后追加的属性,Vue默认不做响应式处理。
      • 如需给后添加的属性做响应式,请使用如下API:
        Vue.set(谁,key,value)
        vm.$set(谁,key,value)
  • 如何监测数组中的数据?        
    • 通过包裹数组更新元素的方法实现,本质就做了两件事:
      • 调佣原生对应的方法对数组进行更新。
      • 重新解析模板,进而更新页面。
  • 在Vue修改数组中的某个元素一定要用如下方法:
  • push():末尾添加数据    返回值:就是这个数组的长度
    pop():末尾删除数据     返回值:就是删除的那个数据
    shift():头部删除数据   返回值:就是删除掉的那个数据
    unshift():头部添加数据 返回值:就是数组的长度
    reserve():翻转数组     返回值:就是翻转好的数组
    splice():              
    数组名.splice(开始索引,多少个): 就是用来截取数组的   返回值:是一个新数组 里面就是截取出来的数据
    数组名.splice(开始索引,多少个,你要插入的数据) :删除并插入数据  返回值:是一个新数组 里面就是截取出来的数据
    
    sort():排序            返回值:
    数组名.sort(function (a,b) {return a-b}) 会正序排列
    数组名.sort(function (a,b) {return b-a}) 会倒序排列
    
    以上都会改变原数组
    • Vue.set()、vm.$set()    
  • Vue.set()和vm.$set() 不能给vm或vm的根数据对象(vm._data等)添加属性     

你可能感兴趣的:(Vue2.0,vue.js,前端)