toRaw_markRaw.vue 717 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <template>
  2. <div>
  3. <h1>toRaw-markRaw</h1>
  4. <h3>{{ news1.a }}</h3>
  5. <button @click="changeMain">修改</button>
  6. </div>
  7. </template>
  8. <script setup>
  9. import { ref, reactive,toRaw,markRaw} from 'vue'
  10. let person = reactive({
  11. name:"图图",
  12. age:3
  13. })
  14. console.log(person,'对象')
  15. // 将响应式对象变成原始对象
  16. let p1 = toRaw(person);
  17. console.log(p1,'p1')
  18. let obj = {
  19. name:'哆啦A梦',
  20. age:7
  21. }
  22. console.log(obj,'obj');
  23. // let obj1 = markRaw(person);
  24. // console.log(obj1,'obj1')
  25. let news = markRaw({a:12,b:'哈哈'});
  26. let news1 = reactive(news);
  27. console.log(news,'news')
  28. console.log(news1,'news1')
  29. function changeMain() {
  30. news1.a = 11;
  31. }
  32. </script>
  33. <style lang='scss' scoped>
  34. </style>