上广东建设厅网站,网址导航打不开怎么办,怎么查看网站谁做的,网站前台设计方案尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 课程 P158节 《shallowReactive与shallowRef》笔记#xff1a; reactive()与shallowReactive()#xff1a;reactive()处理后的数据是响应式的#xff0c;对象内嵌套的深层结构全部是响应式的。shallowReactive()处理后的数据… 尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通 课程 P158节 《shallowReactive与shallowRef》笔记 reactive()与shallowReactive()reactive()处理后的数据是响应式的对象内嵌套的深层结构全部是响应式的。shallowReactive()处理后的数据是浅层响应式的即只有第一层的数据是响应式的嵌套结果第二层都不是响应式。shallowReactive()只考虑对象类型的第一层的响应式里面的不考虑。
ref()与shallowRef()传入基本类型时ref()与shallowRef()没有区别传入对象类型时ref()会将对象变成响应式包括对象中的嵌套层次shallowRef()则不会去处理对象类型的响应式
分别将用ref()与shallowRef()定义的数据打印出来观察会发现使用shallowRef()定义的数据的value值只是一个普通的对象 注意使用shallowRef()定义的对象数据对象的第一层与深层都不会是响应式的比如 此时修改姓名、年龄、薪水都不会起作用 但 p对应的对象整体是响应式的也就是说如果将 p重新赋值另一个对象p是响应式的如下图当点击替换时是可以奏效的 课程 P159节 《readOnly与shallowReadOnly》笔记 经过 readonly 的作用person就被包装成了一个只读的对象此时修改其属性不会产生作用数据根本改不了同时控制台会产生警告 readonly的一个使用场景假如数据是在别人创建的组件中定义的传递给你使用时不希望你修改数据此时就可以将不希望被修改的数据使用 readonly 加工之后就不用担心该数据被误修改了。
课程 P160节 《toRaw与markRaw》笔记 toRaw把响应式数据还原为原始数据 注意toRaw只能处理reactive缔造的响应式对象被其处理过的对象会还原为原始对象没有响应性即修改其数据页面不会变化 markRaw当一个对象嵌套层次非常多非常复杂且页面只需要用其做展示不需要修改其数据时可以使用markRaw。如下场景person是一个响应式对象数据addCar方法为其添加一个car属性假设car属性的值是一个层级非常复杂的对象此时如果直接person.car{}的方式添加由于person是响应式数据给其追加属性也会是响应式的如果追加的属性层级很深且后续其并不需要响应式直接追加就会有性能上的问题。使用markRaw来追加这个属性就可以实现追加的属性不是响应式的 markRaw与readonly的区别markRaw处理过的数据修改数据时数据是可以修改的但页面不会做响应式readonly过的数据修改数据时是不允许修改的也就是连数据都不能修改。