经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » React » 查看文章
vue3中如何使用ref和reactive定义和修改响应式数据(最新推荐)
来源:jb51  时间:2022/12/5 8:48:34  对本文有异议

需求:vue3中setup组合式api中如何定义响应式数据并且修改赋值呢?

1、字符串/数字:“ref”是vue3中用来存储值的响应式数据源,它可以定义字符串,数字等

  1. <script setup>
  2. import { ref } from 'vue'
  3. // “ref”是用来存储值的响应式数据源。
  4. // 理论上我们在展示该字符串的时候不需要将其包装在 ref() 中,
  5. const message = ref('Hello World!')
  6. // 但是在这个示例中更改这个值的时候,就可以实现数据和页面响应式绑定了。
  7. function changeMsg(data){
  8. //message=data 这种是不行的,无法实现双向绑定
  9. message.value=data
  10. }
  11. </script>
  12. <template>
  13. <h1>{{ message }}</h1>
  14. <button @click="changeMsg('数据修改')">Reverse Message</button>
  15. </template>

2、数组/对象:引入 reactive 用来定义对象数据包括数组和对象

vue3使用proxy,对于对象和数组都不能直接整个赋值

  1. <script setup>
  2. import { reactive} from 'vue'
  3. const arr = reactive([]);
  4. const arr2=reactive({arr:[]});
  5. const load = () => {
  6. const res = [2, 3, 4, 5]; //假设请求接口返回的数据
  7. //方法1 失败,直接赋值丢失了响应性
  8. arr = res;
  9. // 方法2 这样也是失败
  10. arr.concat(res);
  11. // 方法3 成功 插入数据,修改数据属性,但是很麻烦
  12. res.forEach(e => {
  13. arr.push(e);
  14. });
  15. // 方法4 成功
  16. arr.value =res
  17. //方法5 成功
  18. arr2.arr = res
  19. };
  20. </script>
  21. <template>
  22. <h1>Demo</h1>
  23. </template>

这里就是vue3中setup组合式api中如何定义响应式数据并且修改赋值全部内容了

到此这篇关于vue3中如何使用ref和reactive定义和修改响应式数据的文章就介绍到这了,更多相关vue3响应式数据内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号