当前位置:   article > 正文

shallowRef与shallowReactive

shallowRef与shallowReactive

shallowRef:浅层响应->整体重新赋新值才会触发更新,只改变单个属性不会触发更新

shallowReactive:浅层响应->第一层属性变化会触发更新,不是第一层属性不会触发更新

  1. <template>
  2. <div>
  3. <h2>{{ person }}</h2>
  4. <button @click="change">改变</button>
  5. </div>
  6. </template>
  7. <script setup>
  8. import {
  9. shallowRef,
  10. ref,
  11. shallowReactive
  12. } from 'vue'
  13. /* 浅层响应->整体重新赋新值才会触发更新
  14. let person = shallowRef({
  15. name: '青阳子',
  16. age: 28,
  17. job: {
  18. j1: {
  19. sex: 20,
  20. },
  21. },
  22. })
  23. const change = () => {
  24. person.value.age = 30
  25. // person.value = {
  26. // age: 30,
  27. // }
  28. }
  29. */
  30. // 浅层响应->第一层属性变化会触发更新
  31. let person = shallowReactive({
  32. name: '青阳子',
  33. age: 28,
  34. job: {
  35. j1: {
  36. sex: 20
  37. }
  38. }
  39. })
  40. const change = () => {
  41. // person.age = 30
  42. //person.name = 'lisi'
  43. // person.job = {}
  44. //person.job.j1 = {a:100}
  45. person = {
  46. age: 30,
  47. }
  48. }
  49. </script>
  50. <style scoped></style>

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/49647
推荐阅读
相关标签
  

闽ICP备14008679号