老师reactive是什么呢?为什么要用reactive来定义数据而不直接定义呢?

老师reactive是什么呢?为什么要用reactive来定义数据而不直接定义呢?

老师reactive是什么呢?为什么要用reactive来定义数据而不直接定义呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕慕子 2021-06-09 10:22:30

同学你好,对于你的问题解答如下:

1、reactive是vue框架中提供的一个方法,该方法接收一个内部值并返回响应式且可变的对象,在前面的基础课程中有详细的讲解:https://class.imooc.com/lesson/1873#mid=42086  同学可以回顾下课程,加深记忆与理解。

2、因为直接定义的数据并不具备响应式,也就是说直接定义的数据改变后,页面中显示的内容不会更新;页面中的内容改变后,对应的数据也不会发生改变。

所以需要使用reactive将数据转成响应式数据,实现数据改变时,页面中的显示内容也随之改变,页面中显示内容改变时,数据也随之改变。

祝学习愉快~

  • 老师,我试了下这里把reactive去掉,登陆后看发送的请求载荷内容也是输入框输入的内容,也完成了响应式,是因为v-model双向绑定就够了,就可以把绑定到的数据变为响应式了吗?我在想之前将的setup里的数据不是不用reactive转一下(或ref)就不是响应式吗?  好像之前也没讲过v-model和composition API一起用的情况,这里怎么理解,老师能讲讲吗?

    搜索

    复制

    2022-06-16 17:33:10
  • 同学你好,问题解答如下:

    1、使用v-model指令,并不会将绑定的非响应式数据变为响应式的,示例:

    https://img1.sycdn.imooc.com//climg/62ab03830974d26d11280805.jpg

    输入框中的内容改变,页面中不会跟随输入的内容展示对应的数据,如下:

    https://img1.sycdn.imooc.com//climg/62ab03c909a6d7d705690397.jpg

    因为点击登录按钮,获取最新的data中保存的username和password的值,即:此时输入框中的内容,所以发送请求时携带的数据与输入框中的内容保持一致。

    2、setup中没有使用reactive/ref处理的数据,确实不具备响应式。

    3、v-model和composition API一起使用的情况,和与直接在data中声明的数据使用情况是一样的。

    祝学习愉快~

    2022-06-16 18:23:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师