vue3中ref,vue3 torefs

  vue3中ref,vue3 torefs

  本文主要详细介绍了vue3的ref、computed、reactive和toRefs。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。

  

目录

   1,ref2,计算3,反应4 4,参考文献汇总。在vue2中,数据函数中返回的值是直接响应的,但在vue3中,我们需要使用一些函数来达到这种效果。

  无法在设置功能中获得vue的这个。

  

1、ref

  本质上是一个函数,输入参数是一个值(原始类型),以及一个返回响应类型的对象。

  

2、computed

  本质上是函数,输入参数是函数,我们需要的值可以作为输入函数的返回值。

  示例:单击按钮将屏幕上的数字加1。

  模板

  div id=应用程序

  img alt=vue logo src=。/assets/logo.png

  !在模板中引用- ref对象时,vue可以直接显示内部值,不需要写count.value -

  h1{{count}}/h1

  h1{{double}}/h1

  按钮@click=增加点击/按钮

  /div

  /模板

  脚本语言

  //ref API:是函数,输入参数是值,返回响应式对象。

  //computed API:是函数,输入参数是函数类型,输入函数包含我们需要的值。

  //reactive:将响应变量包装在一起,使其更加清晰。

  从“vue”导入{计算值、参考值、反应值}

  导出默认值({

  名称:“应用程序”,

  /*data(){

  返回{

  计数:0

  }

  },

  方法:{

  增加(){

  这个.计数

  }

  }*/

  //注意:不用vue3中的数据和方法,可以用ref函数来完成响应。

  setup(){

  Const count=ref(0) //传入0并返回一个对象

  const double=computed(()={

  返回count.value*2

  })

  常数增加=()={

  Count.value //通过返回对象的value属性获取响应数据

  }

  Return{ //要在外部使用的变量必须通过Return导出才能使用。

  数数,

  增加,

  两倍

  }

  }

  });

  /脚本

  

3、reactive

  本质上是一个函数,接受一个对象作为传入参数。

  上面的代码在setup函数中有很多响应式的数据,而且都是分散的。我们可以用reactive把它们都包起来。数据需要取出的输出类型。属性。

  模板

  div id=应用程序

  img alt=vue logo src=。/assets/logo.png

  h1{{data.count}}/h1

  h1{{data.double}}/h1

  Button @click=data.increase 单击/button

  /div

  /模板

  脚本语言

  从“vue”导入{计算值、参考值、反应值}

  导出默认值({

  名称:“应用程序”,

  //注意:不用vue3中的数据和方法,可以用ref函数来完成响应。

  setup(){

  常数数据=反应({

  计数:0,

  增加:()={

  数据.计数

  },

  double:计算的(()=

  data.count*2

  )

  })

  Return{ //要在外部使用的变量必须通过Return导出才能使用。

  数据

  }

  }

  });

  /脚本

  上面的代码运行时会报错,数据类型错误。这是因为需要解决由内部计算函数引起的数据类型推理循环。您可以手动设置要分配给数据的数据类型。

  接口数据端口{

  计数:数量,

  double:数字,

  增加:()=无效

  }

  继续修改上面的代码,发现每次使用模板中的数据,都需要这些数据。属性来获取它。可以直接使用属性吗?这时,我们想到了.es6的扩展字符,但是改了之后我们发现点击按钮并没有改变屏幕上的数字,数据也没有反应。

  这是因为这样返回的数据都是普通的js数据类型,不是响应式ref数据类型,所以我们需要一个新的方法。

  

4、toRefs

  本质上是一个函数,接受反应函数作为输入参数,并返回ref类型的对象。

  模板

  div id=应用程序

  img alt=vue logo src=。/assets/logo.png

  !在模板中引用- ref对象时,vue可以直接显示内部值,不需要写count.value -

  h1{{count}}/h1

  h1{{double}}/h1

  按钮@click=增加点击/按钮

  /div

  /模板

  const refData=toRefs(data)

  Return{ //要在外部使用的变量必须通过Return导出才能使用。

  .refData

  }

  此时,我们扩展refData,就可以实现响应了。

  

总结

  本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: