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:{
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有哪几种导航钩子