Vue3日常杂记

在Vue3和Vite的项目中遇到图片引入404错误,解决方法包括将静态文件放在assets目录下,通过import动态导入或使用工具函数批量处理。此外,文章还澄清了插槽的用途,指出插槽不能替代组件的使用,需引入组件来实现功能。
摘要由CSDN通过智能技术生成

项目场景:使用Vue3中遇到的各种问题

这个项目是个人的Vue3的练习,vue3+vite


vue3+vite assets引入图片404错误

下面是问题截图

<el-menu-item index="0">
    <el-image src="../assets/QQyinyue.png"></el-image>
</el-menu-item>

在这里插入图片描述


原因分析:

vite需要将静态文件放在assets


解决方案:

  • 第一种方式
    • 适合处理单个链接的资源文件
import logo from '@/assets/QQyinyue.png'

<img :src="logo " />
  • 第二种方式
    • 适用于处理多个链接的资源文件

这里我们假设:
工具文件目录: src/util/pub-use.ts

// 获取assets静态资源
export default  const getAssetsFile = (url: string) => {
   return new URL(`../assets/${url}`, import.meta.url).href
}

使用

import useNoe from '@/util/use'
setup () {
  const Noe= useNoe ()
  const getAssetsFile = Noe.getAssetsFile
  return { getAssetsFile }
}

可以包含文件路径

<img :src="getAssetsFile('/assets/QQyinyue.png')" />

插槽的使用误区

之前学过插槽的,以为只是一个出口,一个实现就好了,不过确实也是如此,今天搞了好久才明白

在这里插入图片描述

比如在上图中定义了一个插槽,我这是index.vue首页,然后再提供一个实现组件,不过总是不出现内容,找了好久,后面看官方文档,一步步找,才发现,插槽并不能代替使用组件,使用的时候还是需要引入组件
平时使用组件

import FancyButton from './components/FancyButton.vue'

直接就用了,现在我的页面比较复杂了,我需要用插槽拆分下,比如
在这里插入图片描述

这个页面,我需要拆分为两个模块,一个是顶部,一个是主体,它们其中细致拆分暂时不说
就顶部栏这个部分,需要拆分为,LOGO,导航栏,搜索,用户信息等,使用组件进行了实现之后,我们需要在首页引用实现的组件,而不是直接在首页设置插槽

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栀梦星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值