首页 > 其他分享 >toRef与toRefs函数

toRef与toRefs函数

时间:2023-07-10 23:11:40浏览次数:34  
标签:salary 函数 age toRefs toRef person name

toRef

  • 作用:创建一个 ref 对象,其value值指向另一个对象中的某个属性。

  • 语法:const name = toRef(person,'name')

  • 应用: 要将响应式对象中的某个属性单独提供给外部使用时。

  • 扩展:toRefstoRef功能一致,但可以批量创建多个 ref 对象,语法:toRefs(person)

 

Demo5.vue

<template>
  {{person}}
  <h2>姓名:{{name}}</h2>
  <h2>年龄:{{age}}</h2>
  <h2>薪资:{{salary}}</h2>
  <button @click="name+= '!' ">修改姓名</button>
  <button @click="age++">增长年龄</button>
  <button @click="salary++">涨薪</button>
</template>

<script>
import {ref,reactive,toRef} from 'vue'

export default {
  name: 'Demo',
  setup() {
    let person = reactive({
      name:'张三',
      age:18,
      job:{
        j1:{
          salary:20
        }
      }
    })

    let name = toRef(person,'name')
    let age = toRef(person,'age')
    let salary = toRef(person.job.j1,'salary')

    return{person,name,age,salary}

  }
 
}
</script>

<style>

</style>

 

  

toRefs写法

<template>
  {{person}}
  <h2>姓名:{{name}}</h2>
  <h2>年龄:{{age}}</h2>
  <h2>薪资:{{job.j1.salary}}</h2>
  <button @click="name+= '!' ">修改姓名</button>
  <button @click="age++">增长年龄</button>
  <button @click="job.j1.salary++">涨薪</button>
</template>

<script>
import {ref,reactive,toRefs} from 'vue'

export default {
  name: 'Demo',
  setup() {
    let person = reactive({
      name:'张三',
      age:18,
      job:{
        j1:{
          salary:20
        }
      }
    })

    return{
      person,
      //name:toRef(person,'name'),
      //age:toRef(person,'age'),
      //name:toRef(person,'name') ,
      //salary:toRef(person.job.j1,'salary') ,
      ...toRefs(person)
    }

  }
 
}
</script>

<style>

</style>

  

 

标签:salary,函数,age,toRefs,toRef,person,name
From: https://www.cnblogs.com/ixtao/p/17542626.html

相关文章

  • 自定义hook函数
    什么是hook?——本质是一个函数,把setup函数中使用的CompositionAPI进行了封装。类似于vue2.x中的mixin。自定义hook的优势:复用代码,让setup中的逻辑更清楚易懂。 创建hook3文件夹新建usePoint.js文件(文件名以userxxx命名) app.vue<template><button@cl......
  • sql记录:FIELD函数解决mysql中in传值顺序问题
    1.问题描述in查询的结果传值顺序与结果显示顺序不一致,默认对id进行排序显示结果,eg:如果是5号用户先点赞,1号用户后点赞,但是查询结果是1号用户显示在5号用户的前面,也就是说导致结果1号用户先点赞,5号用户后点赞,需要使用FIELD函数解决2.问题解决SELECTid,phone,password,nick_n......
  • 使用递归函数来实现输入正整数,将正整数分解鸡(质因)数
    介绍一下递归函数:当我们定义一个函数时,如果函数内部调用了自身,那么这个函数就称为递归函数。递归函数是一种解决问题的方法,它将大问题分解为相同或类似的小问题,并通过逐步解决这些小问题来解决整个问题。使用递归函数的核心思想是将一个问题拆解为更简单的子问题,并且解决子问题的方......
  • Vue3 的 hook函数
    Vue3的hook函数相当于vue2的mixin,不同在于hooks是函数;Vue3的hook函数可以帮助我们提高代码的复用性,让我们能在不同的组件中都利用hooks函数;其实就是代码的复用,可以用到外部的数据,生命钩子函数...,具体怎么用直接看代码,//一般都是建一个hooks文件夹,都写在里面impor......
  • 高等数学——函数的极限
    函数的极限定义\(x\)趋于有限数\(a\)的极限。\[x\toa,f(x)\tob\]\(f(x)\)在\(x_{0}\)的去心领域内有定义(在\(x_{0}\)处可以没有定义)。若\(\existsA,\forall\delta>0,0<|x-x_{0}|<\delta\)时,$|f(x)-A|<\varepsilon$,则:\[\lim_{x\tox_{0}}f(x)=A\t......
  • 作用域和自执行函数
        一、变量作用域1.1局部变量functionjb(){vara="我是局部变量"returna;}1.2全局变量vara="我是全局变量"functionjb(){console.log(a)}console.log(a)二、自执行函数在加载的时候这个自执行函数就能自己运行!(function(){......
  • 反三角函数
    反三角函数反三角函数是反函数。正弦函数\(y=\sinx\)的反函数为\(y=\arcsinx\)。正弦函数的定义域为\(D=(-\infty,+\infty)\),值域为\(R=[-1,1]\)。其反函数的定义域\(D=[-1,1]\),值域为\(R=[-\frac{\pi}{2},\frac{\pi}{2}]\)。\(x\)\(-1\)\(-\frac{\sqrt{3}}......
  • 无人车轨迹规划,利用代价函数求解最优轨迹,matlab程序 这
    无人车轨迹规划,利用代价函数求解最优轨迹,matlab程序这个程序是一个用于车辆导航和避障的示例。它使用了一种基于目标函数和障碍函数的规划方法,通过计算不同方向上的函数值来选择最佳移动方向,并模拟车辆在真实环境中移动的过程。程序的主要功能是模拟车辆在给定的区域内避开障碍物......
  • 函数对象
    函数对象定义定义了operator()的对象就是函数对象。函数的封装可以使用std::function对函数(指向函数的指针)、lambda表达式、bind表达式、函数对象、指向成员函数的指针、指向成员变量的指针;简单示例#include<functional>#include<iostream>intfun(inta){std::c......
  • system函数的风险和解决
    system函数的风险和解决源码摘录/*ExecuteLINEasashellcommand,returningitsstatus.*/staticintdo_system(constchar*line){intstatus=-1;intret;pid_tpid;structsigactionsa;#ifndef_LIBC_REENTRANTstructsigactionintr,quit;#e......