我有两个基于两个相同数据结构的vue.js组件,可以为它们分配从服务器接收的不同值。
我想根据从服务器接收到的数据自动生成组件(可能处于“ for”周期)。这种自动生成的组件应具有相同的数据结构,但值不同。
例如,现在我已经实现了虚拟方法:
我想成为的人
n
vue.js组件添加了类似“生成器”的内容我当前的虚拟解决方案: https://jsfiddle.net/t2j80bpn/7/
答案 0 :(得分:1)
听起来您的“发电机”只是一个计算的。使用map
将data_from_server
转换为图形的对象数组。或者visualize_data
可以将其转换为真实的数据项。
Vue.use(HighchartsVue.default)
let data_from_server = [
[1, 2, 3, 1, 8, 1, 9, 2],
[11, 2, 6, 1, 9, 10, 1, 2]
]
var app = new Vue({
el: "#app",
data() {
return {
dfs: []
}
},
computed: {
chartOptions() {
return this.dfs.map((d, i) => ({
id: i,
chart: {
type: 'spline'
},
title: `Chart ${i}`,
series: [ {data: d}]
}))
}
},
methods: {
visualise_data: function(event) {
this.dfs = data_from_server;
}
}
});
<script src="https://unpkg.com/vue@latest/dist/vue.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/highcharts/highcharts-vue/1ce7e656/dist/script-tag/highcharts-vue.min.js"></script>
<div id="app">
<button v-on:click="visualise_data">Change series</button>
<highcharts v-for="opt in chartOptions" :options="opt" :key="opt.id"></highcharts>
</div>