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

相关推荐
风骏时光牛马2 分钟前
Cube Sandbox部署问题及解决方法
前端
Bug-制造者2 分钟前
深入理解 HTML5 Web Workers:提升网页性能的关键技术解析
前端·html·html5
nexustech5 分钟前
JavaScript日期处理工具date-fns,累计36.5k Star
开发语言·javascript·其他·ecmascript
Sylvia33.6 分钟前
足球数据API接入实战:从认证到实时比分推送的完整指南
java·开发语言·前端·c++·python
_小郑有点困了11 分钟前
学习Python基础语法及使用
前端·python·学习
LPieces23 分钟前
【LPieces-UI】01-从零开始搭建 Vue3 组件库
前端
学习使我快乐0126 分钟前
AI时代下,前端如何破局
前端·人工智能
yingyima1 小时前
Unix 时间戳转换实战:一次差点毁掉项目的低级错误
前端
盼兮1 小时前
用AI编程从零搭建一个响应式数据看板
前端·人工智能·数据可视化
Lan.W1 小时前
vue3-element-admin里新增mock接口一直没有生成,不生效
前端·javascript·vue.js·mock