vue2中。如果给一个之前没有定义的属性赋值,会得不到时实更新:
this.obj.b=2 //由于这个属性之前没有定义,是不支持动态响应,只能用this.$(this.obj,'b',2)
也就是说vue对数据处理不是很完美 ,主要是因为考虑性能问题。vue数据需要用ref react
import {ref,} from 'vue'
let srt = ref('1') //用ref 处理的ref,获取值时需要用XXX.valueive
ref 支持简单数值,数组,也对对象,但是设计上他不会深度遍历对象子属性的属性,可用于后端接收值,一般用于接收后我们不会在去修改太深层的值,但和vue 比起来,ref 也经可以处理之前没有定义的属性,不用需要set,get这些方法来处理修改数值,
例: let str = ref{['a','b','c']};
let srt1 = reactive('1')
vue2 和vue3 最大的区别的数据响应处理
vue2 用的是Object.defineProperty
vue3用的是new Proxy
let o ={a:1,b:2} let m = {};
给一个对象增加属性//下面代码给m增加属性a
简单复习一下defineProperty Object.defineProrty(m, 'a')
如果要把一个对象的属性全部添加到对象需要用遍历,
for (let k in o){
Object.defineProperty(m,k,{
get(){
return o[k]
}
get(){
}
})
}
//////////////////////////////////////////////////////////////////////
解决vue自动导包 插件安装 npm -i unplugin-auto-import -D
路由vue2 和vue3的区别
let router = usrRouter(); ==> this.$router
let router = usrRoute() == this.$route
标签:vue,复习,精简版,let,vue2,vue3,ref,属性 From: https://www.cnblogs.com/fgxwan/p/16961721.html