【发布时间】:2020-09-11 14:31:31
【问题描述】:
我正在尝试在vue 中实现higchart 网络图。
它与静态数据一起工作正常。当我尝试使用axios 获取数据时,它不起作用。
export default {
data() {
return {
networkOptions: {
chart: {
type: "networkgraph",
height: "100%",
},
title: {
text: "",
},
subtitle: {
text: "A Force-Directed Network Graph",
},
plotOptions: {
networkgraph: {
keys: ["from", "to"],
layoutAlgorithm: {
enableSimulation: true,
integration: "euler",
linkLength: 20,
friction: -0.9,
},
},
},
series: [{
dataLabels: {
enabled: false,
linkFormat: "",
},
id: "lang-tree",
data: this.mygetCall(),
}, ],
},
};
},
methods: {
mygetCall: async function() {
let url = `api url`;
return await axios
.get(url)
.then((response) => {
console.log(response.data);
let dataLink = response.data;
let filterArray = [];
dataLink.forEach(function(index) {
let ref = index.referred_to.replace(/(^\w+:|^)\/\//, "").trim();
let url = index.url.replace(/(^\w+:|^)\/\//, "").trim();
filterArray.push([ref, url]);
});
console.log(filterArray);
return filterArray;
})
.catch((error) => {
console.log(error);
});
},
},
};
我尝试使用 async 并等待。但它不起作用。如果是来自mygetCall 的控制台响应,它会显示结果。
【问题讨论】:
-
I tried with async and await- 在哪里?你不能指望代码帮助而不显示代码 -
请提供更多代码。你的 axios 请求是什么样的?
-
神圣的无格式代码蝙蝠侠!这很难阅读...但是
return filterArray;尝试更新组件数据中的键并将 highchart 绑定到该反应元素。 -
@TimWickstrom 我也试过了,它得到了更新,但没有显示网络图。我试图改变图表的标题,如下所示。它工作正常 this.networkOptions.title.text = dataLink[0].url;但是当我尝试这个时,它不起作用 this.networkOptions.series.data = filterArray;
-
如果您正确绑定数据,听起来 HighChart 对更改没有反应。你在使用官方的 HighChart Vue 包装器吗?如果是这样,请显示您的代码。 highcharts.com/blog/tutorials/highcharts-vue-wrapper
标签: javascript vue.js promise