Vue.js2.0知识点整理

165 阅读1分钟

Object.defineProperty

  • Object.defineProperty(obj, prop, descriptor) 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。 MDN介绍 目前Vue.js3.0采用Proxy

Vue的computed

  • Vue的computed 计算属性(有缓存机制),计算属性中的方法是依赖于其中的值,当值改变的时候计算属性就会更新,避免在模版表达式中使用复杂的逻辑运算
let vm  = new Vue({
  el:'#app',
  data:{
   mydata:"hello vue"
  },
  computed:{
   //计算属性的 getter
   question:{
    return this.mydata.split('').reverse().join('--');
   }
  }
});

Vue的watch

  • Vue的watch 监听器,当需要执行异步或者开销比较大的操作,监听器会比计算属性更加有效
watch:{
  //需要监听的值
  question(){
  }
}

computed 和 watch的区别

  • computed 和 watch的区别
    computed支持缓存,不支持异步,一个数据受到多个数据的影响 watch不支持缓存,支持异步,一个数据响应多个数据
    相同点:计算属性和监听属性都是希望在依赖数据发生变化的时候,被依赖的数据根据事先设定好的函数发生自动的变换

Vue组件之间怎么实现数据的双向绑定

  • Vue组件之间怎么实现数据的双向绑定
    使用sync修饰符,当父组件的变量发生变化时,子组件通过prop获取到的数据也会发生变化,但是在子组件中修改prop传递过来的值就会报错,所以需要$emit将子组件的数据传递过去,从而实现组件之间的数据双向绑定
  • vue-router有哪几种导航钩子