vue 加载网络svg矢量图

svg网络图片用img标签是不能直接显示出来的,本地的svg就可以,那么网络的svg怎么加载显示呢,

vue项目里面安装 d3这个插件

我这里用的d3插件版本是 "d3": "^7.4.4",

npm install d3

在页面里面引入,比如我写的一个svg图片的渲染器

<template>
  <div>
    <div id="svgContaner"></div>
  </div>
</template>
<script>
import * as d3 from "d3";
export default {
  name: "svgrender",
  props: {
    url: {
      type: String,
      default: () => {
        return "";
      },
    },
  },
  data() {
    return {
      dialogVisible: false,
      svg: {}
    };
  },
  async created() {
    console.log(this.url);
    //this.url 是网络svg的路径
    this.svg = (await d3.xml(this.url)).documentElement;
    //console.log(this.svg, "===_svg===");
    document.getElementById("svgContaner").append(this.svg);
  }
};
</script>
<style lang="scss" scoped>
#svgContaner {
  height: calc(100vh - 312px - 80px);
  width: calc(100% - 100px - 20px);
  float: left;
  padding-bottom: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
</style>

 

这样就可以显示网络的svg图片到vue的页面上了

Vue中使用SVG矢量图,你可以按照以下步骤进行配置: 1. 首先,确保你的项目中有一个存放SVG图标的文件夹,比如`src/icons`。在这个文件夹中,你可以存放所有的SVG图标文件。 2. 在你的组件中,使用`<svg-icon>`组件来引用SVG图标。可以通过设置`icon-class`属性来指定SVG图标的名称,通过设置`className`属性来修改SVG图标的样式,比如大小和颜色。例如,`<svg-icon icon-class="tree" className="需要修改的样式" />`。 3. 配置`vue.config.js`文件,添加以下代码片段到`chainWebpack`方法中: ```javascript chainWebpack(config) { config.module .rule('svg') .exclude.add(resolve('src/icons')) // 注意svg的存储地址 .end() config.module .rule('icons') .test(/\.svg$/) .include.add(resolve('src/icons')) // 注意svg的存储地址 .end() .use('svg-sprite-loader') .loader('svg-sprite-loader') .options({ symbolId: 'icon-[name]' }) .end() } ``` 这段代码的作用是配置Webpack,使其能够正确地加载和处理SVG图标。其中,`exclude`和`include`方法用于指定SVG图标文件的存放地址,`svg-sprite-loader`用于加载和处理SVG图标文件,并通过`symbolId`选项设置图标的ID。 通过以上配置,你就可以在Vue项目中使用SVG矢量图了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue中如何使用svg](https://blog.csdn.net/weixin_47909202/article/details/123015710)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值