2026年物业门控五金耗材推荐榜:中企创联工业品,小区/写字楼/物业多场景门控配件全覆盖
2026/3/2 14:07:46
$ npm install element-plus --saveimport * as ElementPlusIconsVue from '@element-plus/icons-vue' const app = createApp(App) for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) // 注册为全局组件 }const routes = [ { path: '/dashboard', meta: { icon: 'Platform', // 只是字符串,不是直接调用 name: '控制台' } } ]<template> <div class="sidebar"> <div v-for="item in menuItems" :key="item.path"> <!-- 使用动态组件 --> <component :is="item.meta.icon" /> {{ item.meta.name }} </div> </div> </template> <script setup> import { computed } from 'vue' import { useRouter } from 'vue-router' const router = useRouter() const menuItems = computed(() => router.getRoutes().filter(route => route.meta?.icon) ) </script>