Vue3 setup的业务逻辑分离功能拆分
在Vue3开发中,我们可能遇到一个页面或者组件业务逻辑很复杂,代码量达到千行,不利于阅读和维护,因此需要将业务逻辑进行分离
首页主界面 index.vue
// index.vue
<script>
import {reactive, toRefs} from 'vue'
import useOperate from './useOperate.js'
import useConfig from './useConfig.js'
export default {
name: '',
setup(props, {emits, slot, attr}){
const { title, getList } = useOperate();
const { onEditHandler, onDeleteHandler } = useConfig();
const state = reactive({
myTitle: title
})
return {
...toRefs(state),
onEditHandler,
onDeleteHandler
}
}
}
</script>
功能拆分1:useOperate.js
import { reactive, toRefs } from 'vue'
export default function useOperate(){
const state = reactive({
fromData: {
title: ""
}
})
// 函数
const getList = () => {
...
}
return {
...toRefs(state),
getList
}
}
功能拆分2: useConfig.js
import {reactive, toRefs} from 'vue'
export default function useConfig(){
const onEditHandler = () => {...}
const onDeleteHandler = () => {...}
return {
onEditHandler,
onDeleteHandler
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏