代码地址

GitHub:vue3-vant4-vite-pinia-axios-less

效果如图

1.首页为导航栏
在这里插入图片描述
2.绑定英雄页
在这里插入图片描述
3.注册页
在这里插入图片描述4.英雄列表页
在这里插入图片描述
5.后面不截图了,没啥了

模块

1.vant4:按需引入组件样式文档

2.安装该vite-plugin-vue-setup-extend插件可以直接在标签上设置组件name

// vite.config.js
import vueSetupExtend from 'vite-plugin-vue-setup-extend'
export default defineConfig({
    base:'./',
    plugins: [
        vueSetupExtend(),
    ],
})

// .vue文件中使用
<script setup name="nav">
// 你的代码
</script>

3.处理动态加载图片、pdf文件,直接赋值访问不到

// 处理动态加载图片
const getImageUrl = (name = logo.png) => {
    return new URL(`/src/assets/img/software/${name}`, import.meta.url).href
}
// .vue文件中使用
res.data.list.map((n)=>{
  n.Item.Icon = n.Item.Icon?getImageUrl(n.Item.Icon):''
})

4.keep-alive的使用

// app.vue文件
<script setup>
import { useRoute } from 'vue-router'
const route = useRoute()
</script>

<template>
    <router-view v-slot="{ Component }">
        <keep-alive>
            <component
                :is="Component"
                v-if="route.meta.keepalive"
                :key="route.path"
            />
        </keep-alive>
        <component
            :is="Component"
            v-if="!route.meta.keepalive"
            :key="route.path"
        />
    </router-view>
</template>

// router/index.js文件中,配置meta:true即可
{
    path: '/bindAccount',
     name: 'bindAccount',
     component: bindAccount,
     meta: {
         title: '绑定账号',
         requireAuth: true
     }
 },

5.pinia数据持久化pinia-plugin-persistedstate插件,store数据会以localStorage形式存储本地

// main.js
import { createPinia ,storeToRefs } from "pinia";
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'

const pinia = createPinia()
const app = createApp(App)
// 数据持久化
pinia.use(piniaPluginPersistedstate);
app.use(pinia)

//store/index.js
import { defineStore } from "pinia";
const { VITE_ENV } = import.meta.env

export const useStore = defineStore("app",{
    // 开启数据持久化
    persist:true,
    state: () => {
        return {
            loginInfo: {
                user: {
                    Uid: VITE_ENV === 'dev' ? 'a3a8dbb5-a82e-44a3-bb17-e530d9dbc282' : ''
                }
            },
            openid: VITE_ENV === 'dev' ? 'o4a5S6Uq7V_uKigBAfAiaHP9x7Cw' : ''
        }
    },
})
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐