目录

2024年前端最全小白详解Vue3项目中怎么引入-SVG-图标_vue3-svg,2024年最新作为一名web前端面试者你应该知道的知识

2024年前端最全小白详解Vue3项目中怎么引入 SVG 图标_vue3 svg,2024年最新作为一名web前端面试者你应该知道的知识

最后

在面试前我花了三个月时间刷了很多大厂面试题,最近做了一个整理并分类,主要内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

  • HTML5新特性,语义化
  • 浏览器的标准模式和怪异模式
  • xhtml和html的区别
  • 使用data-的好处
  • meta标签
  • canvas
  • HTML废弃的标签
  • IE6 bug,和一些定位写法
  • css js放置位置和原因
  • 什么是渐进式渲染
  • html模板语言
  • meta viewport原理

https://i-blog.csdnimg.cn/blog_migrate/c8b4309af43490c5d613102ef9b25a91.png

https://i-blog.csdnimg.cn/blog_migrate/279c959e3fa172e19647aeec85180123.png

https://i-blog.csdnimg.cn/blog_migrate/69d49b4c21a5c5ad3a7027b4ff74e1ba.jpeg

之前会有在线的图标链接地址,让我们进行引入即可。

但是现在没找到,应该是得下载到本地 然后进行使用= =

那我们只能将项目里的图标,选择 Symbol 并 下载至本地

https://i-blog.csdnimg.cn/blog_migrate/367af236cac7a4770f3b24322a1f8482.png

将其放到 src\assets\svg 目录下

进行解压,删除不必要的东西,只留下 iconfont.js 文件即可

https://i-blog.csdnimg.cn/blog_migrate/d73fc0223b81391700cba2d6fea13280.jpeg

之后在 main.ts 中进行全局导入

import './assets/svg/iconfont.js'

项目中引入 svg-icon

在 src 目录下,创建一个用于存放插件的目录 plugin

https://i-blog.csdnimg.cn/blog_migrate/b694cc85e58c759244c64a88a58904fd.jpeg

// index.vue
 
<template>
  <svg :class="svgClass" aria-hidden="true">
    <use :xlink:href="iconClassName" :fill="color" />
  </svg>
</template>
 
<script setup>
import { computed } from 'vue'
const props = defineProps({
  iconName: {
    type: String,
    required: true
  },
  className: {
    type: String,
    default: ''
  },
  color: {
    type: String,
    default: '#409eff'
  }
})
// 图标在 iconfont 中的名字
const iconClassName = computed(() => {
  return `#${props.iconName}`
})
// 给图标添加上类名
const svgClass = computed(() => {
  if (props.className) {
    return `svg-icon ${props.className}`
  }
  return 'svg-icon'
})
</script>
 
<style scoped>
.svg-icon {
  width: 1em;
  height: 1em;
  position: relative;
  fill: currentColor;
  vertical-align: -2px;
}
</style>
// index.ts
 
import { App } from 'vue'
 
import SvgIcon from './index.vue'
 
export function setupSvgIcon(app: App) {
  app.component('SvgIcon', SvgIcon)
}

之后在 main.ts 中进行注册组件

最后

在面试前我花了三个月时间刷了很多大厂面试题,最近做了一个整理并分类,主要内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。

包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。

  • HTML5新特性,语义化
  • 浏览器的标准模式和怪异模式
  • xhtml和html的区别
  • 使用data-的好处
  • meta标签
  • canvas
  • HTML废弃的标签
  • IE6 bug,和一些定位写法
  • css js放置位置和原因
  • 什么是渐进式渲染
  • html模板语言
  • meta viewport原理

https://i-blog.csdnimg.cn/blog_migrate/c8b4309af43490c5d613102ef9b25a91.png

https://i-blog.csdnimg.cn/blog_migrate/279c959e3fa172e19647aeec85180123.png