前端展示知识图谱 html转vue

本文介绍了如何在Vue项目中引入d3.v3.min.js来展示知识图谱。首先,通过npm安装指定版本的d3以避免版本不兼容问题。然后,将原本在html中的kg.js方法转换为Vue组件内的js部分。在Vue的生命周期中,由于created阶段DOM未渲染完成,导致无法获取元素。因此,使用mounted生命周期钩子确保在DOM渲染后进行知识图谱的加载操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在vue中如果需要引入外部js,用下面的语句:

 <script src="../../../dist/static/js/materialize.min.js"></script>

原文件中,单独的kg.js文件中有下面这样的方法:在这里插入图片描述
我将其直接写到vue文件的js部分:
在这里插入图片描述
红框是注意更改的地方。
原html中,引入外部的d3.js文件:

   <script src="js/d3.v3.min.js"></script>

我在vue中

  1. npm install d3
  2. import d3 from “d3”

但是这样直接安装的是最新版本的d3,导致前端报错,很多d3的方法找不到,又由于原html的文件引入的是d3.v3.min.js,于是换用npm install d3@3.5.17 –save ,安装了3.5.17版本的d3,解决了报错

我一开始是使用点击按钮之后加载知识图谱,流程如下:
在这里插入图片描述
在这里插入图片描述
这样没有问题,但是换做在created()中调用方法就会出错,通过打印发现,
在这里插入图片描述
在这里插入图片描述
在created的时候没有获取到id为container的对象,
解决方法如下,利用Vue中的mounted:

 mounted:function(){
      this.KnowLedge();//需要触发的函数
  },

created 和mounted 的区别是:
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值