1. readonly

readonly: 让一个响应式数据变为只读的(深只读)修改不会生效。
此时所有的属性都是不能修改的。

  1. <template>
  2. <h2>姓名:{{name}}</h2>
  3. <h2>年龄:{{age}}</h2>
  4. <h2>性别:{{sex}}</h2>
  5. <h2>薪资:{{job.salery}}</h2>
  6. <hr>
  7. <button @click="name += '@'">修改姓名</button>
  8. <button @click="age ++">修改年龄</button>
  9. <button @click="job.salery ++">修改薪资</button>
  10. <h2>当前的值:{{sum}}</h2>
  11. <button @click="sum++">点我+1</button>
  12. </template>
  13. <script>
  14. import { reactive, toRefs, readonly } from 'vue'
  15. export default {
  16. setup() {
  17. let person = reactive({
  18. name:'IRIC',
  19. age:12,
  20. sex:'女',
  21. job:{
  22. salery:20
  23. },
  24. address:''
  25. })
  26. person = readonly(person)
  27. return { ...toRefs(person) }
  28. },
  29. }
  30. </script>

2. shallowReadonly

  • shallowReadonly:让一个响应式数据变为只读的(浅只读)。
  • 应用场景: 不希望数据被修改时。
  • 下面的例子只有薪资是可以修改的。 ```javascript

```