css响应式不用说大家都知道,拖动浏览器窗口大小时,内容布局和大小会自动变化。
那么Vue的数据响应式就是,实例中,通过修改vm的.n值,就能改变data()中的n。

  1. let vm = Vue({
  2. data(){
  3. n:0
  4. }
  5. })

Vue2中,数据响应式是通过Object.defineProperty实现的。

注意事项

  1. 如果开发者给一个data中不存在的变量a做了修改,a是无法在页面上显示出来的,因为Vue无法监听一开始不存在的变量。
    解决方法:使用Vue.set或者this.$set
  2. data中如果有数组,由于Vue无法监听到数组新增的元素的下标(因为下标一开始不存在),对数组做的增加元素操作也无效。
  3. 解决方法:使用Vue提供的的push()、pop()、shift()、unshift()、splice()、sort()、reverse()这些变异方法代替Vue.set或者this.$set最妥当。