我看网上说的是使用这种方式
<script src="https://d3js.org/d3-dsv.v1.min.js">script>
为什么不用import的方式?
import axios from "axios";
两个试了都没效果,都说无法找到项目包。
怎么使用d3-dsv?
d3-dsv没直接加载文件功能,需要用网络组件axios或者fetch加载csv得到内容后用csvParse转数据,示例如下
<template>
<view>
<view v-for="item in rows">
<view>{{item.Id}}-{{item.Name}}</view>
</view>
</view>
</template>
<script>
import * as dsv from 'd3-dsv';
export default {
data() {
return {
rows:[]
}
},
async mounted(){
let req =await fetch('/static/data.csv');//也可以用axios读取,看个人喜好
let data=await req.text();
this.rows=dsv.csvParse(data);
},
methods: {
}
}
</script>
<style>
</style>
该回答引用GPTᴼᴾᴱᴺᴬᴵ
在 Vue 中使用 d3-dsv,可以通过以下步骤进行:
下面是一个简单的示例:
<template>
<div>
<h1>{{ title }}</h1>
<ul>
<li v-for="(item, index) in data" :key="index">{{ item.name }} - {{ item.value }}</li>
</ul>
</div>
</template>
<script>
import { csv } from 'd3-dsv';
export default {
data() {
return {
title: 'CSV Data Example',
data: [],
};
},
created() {
csv('data.csv').then(data => {
this.data = data;
});
},
};
</script>
在上面的示例中,首先使用 import 语句导入了 csv 函数,然后在 created 生命周期钩子中调用 csv 函数,将 data.csv 文件中的数据解析为 JavaScript 对象数组,并将结果保存到组件的 data 属性中。在模板中使用 v-for 指令渲染数据。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!查阅D3文档,最后在index.html文件中增加如下解决了:
<script src="https://d3js.org/d3-dsv.v1.min.js"></script>
<script src="https://d3js.org/d3-fetch.v1.min.js"></script>
不知道你这个问题是否已经解决, 如果还没有解决的话: