关于前端:Nuxt使用elementplusiconsvue

46次阅读

共计 804 个字符,预计需要花费 3 分钟才能阅读完成。

Element Plus 的图标应用和 Element UI 的略有区别,须要独自装置。

在 nuxt3 中你可能并不能间接像 Element Plus 官网这样加载图标:

// main.ts

// 如果您正在应用 CDN 引入,请删除上面一行。import * as ElementPlusIconsVue from '@element-plus/icons-vue'

const app = createApp(App)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {app.component(key, component)
}

nuxt3 对 vue app 实例做了封装,咱们能够应用 useNuxtApp 这个组合式办法中获取到 vue app:

<template>
  <div>
    <NuxtLayout :name="layout">
      <NuxtPage />
    </NuxtLayout>
  </div>
</template>

<script setup>
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
// You might choose this based on an API call or logged-in status
const layout = "main-content";

const nuxtApp = useNuxtApp()
// console.log(nuxtApp)
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {nuxtApp.vueApp.component(key, component)
}
</script>

这样就能够失常应用图标了:

<el-icon class="el-icon-close"><Close @click="handleClose"/></el-icon>

正文完
 0