vue3前端开发-小兔鲜项目-使用逻辑函数拆分业务模块

评论: 0 浏览: 974 ***新更新时间: 2个月前

vue3前端开发-小兔鲜项目-使用逻辑函数拆分业务模块!其实就是把一些单独的业务代码组成一个js文件。抽离出去后,方便后面的维护。


vue3前端开发-小兔鲜项目-使用逻辑函数拆分业务模块

如图,在一级分类下面新建一个文件夹。composables里面新建2个js文件。

分别封装之前的分类,和banner的代码。


import { onBeforeRouteUpdate } from 'vue-router'
import {ref,onMounted} from 'vue'
import {useRoute} from 'vue-router'
import {getCategoryAPI} from '@/apis/category'
export function useCategory(){
    const categoryData = ref({})
    const route = useRoute()
    const getCagegoryData = async (id = route.params.id) =>{
            // 如何在setup中获取路由参数 useRoute() -> route 等价于this.$route
            const res = await getCategoryAPI(id)
            categoryData.value = res.result
        }
        onMounted(()=> getCagegoryData())
        onBeforeRouteUpdate((to)=>{
        //把动态变化的路由参数值传递给函数
        getCagegoryData(to.params.id)
    })
    return {
        categoryData
    }
}

***后需要把模块需要使用的数据,return出去就行了。是一个对象。


import {ref,onMounted} from 'vue'
import { getBannerAPI } from "@/apis/home"
export function userBanner() {
    const bannerList = ref([])
    const getBanner = async () =>{
        const res = await getBannerAPI({ distributionSite:'2'})
        bannerList.value = res.result
    }
    onMounted(()=> getBanner())
    return {
        bannerList
    }
}

在模块页面内调用就行了。


vue3前端开发-小兔鲜项目-使用逻辑函数拆分业务模块

如图,直接调用就行了。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

点击启动AI问答
Draggable Icon