vue3组合式函数如何接收响应式状态

Index.vue:

javascript 复制代码
<script setup>
import { ref, onMounted } from 'vue'
import useList from './useList'
import './index.css'

const indexCount = ref(0)

const { count, handleClick } = useList(indexCount)

const handleIndexCount = () => {
  indexCount.value++
}



onMounted(() => {})
</script>

<template>
  <div class="m-home-wrap">
    <button @click="handleIndexCount">{{ indexCount }}</button>

    <button @click="handleClick">{{ count }}</button>
    <div class="m-home-demo"></div>
  </div>
</template>

<style></style>

useList.js:

javascript 复制代码
import { ref, onMounted, watchEffect, toValue } from 'vue'

const useList = (props) => {
  const count = ref(0)


  watchEffect(() => {
    let value = toValue(props)
    console.log(value)
    count.value = value
  })

  const handleClick = () => {
    count.value++
  }

  onMounted(() => {
    console.log(1)
  })

  return {
    count,
    handleClick,
  }
}

export default useList

watchEffect的作用:

响应式地追踪其依赖

toValue的作用:

toValue() 是一个在 3.3 版本中新增的 API。它的设计目的是将 ref 或 getter 规范化为值。如果参数是 ref,它会返回 ref 的值;如果参数是函数,它会调用函数并返回其返回值

人工智能学习网站

https://chat.xutongbao.top

相关推荐
爱喝白开水a10 分钟前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
Never_Satisfied10 分钟前
在JavaScript / HTML中,关于querySelectorAll方法
开发语言·javascript·html
董世昌4111 分钟前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
B站_计算机毕业设计之家24 分钟前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
WeiXiao_Hyy1 小时前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
吃杠碰小鸡1 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone1 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
xjt_09012 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js
我是伪码农2 小时前
Vue 2.3
前端·javascript·vue.js
夜郎king2 小时前
HTML5 SVG 实现日出日落动画与实时天气可视化
前端·html5·svg 日出日落