vue.js - vue-chartjs 从父组件加载数据

标签 vue.js vuejs2 chart.js vue-chartjs

我有一个折线图组件,代码如下:

<script>
  import { Line } from 'vue-chartjs'

  export default {
    extends: Line,
    props: ['data', 'options'],
    mounted () {
      this.renderChart(this.data, this.options)
    }
  }
</script>

我想在另一个组件中使用此组件,因为我可以影响组件 Chart.vue 的 dataoptions 值的数据。

我是 VueJS 新手,无法理解 vue-chartjs 文档中的示例。

这是我的组件,它将成为父组件,以及我现在所做的事情:

<template>
  <div class="dashboard">
    <chart></chart>
  </div>

</template>

<script>
  import Chart from '@/components/Chart'

  export default {
    name: 'DashBoard',
    components: {
      'chart': Chart
    },
    mounted () {},
    data () {
      return {
        datacollection: null
      }
    }
  }
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>

最佳答案

您的数据来自哪里? 您的示例代码很奇怪,因为您没有将数据作为 Prop 传递。

所以毫无疑问,什么也没有出现。

您必须将数据收集传递给图表组件。

<chart :data="datacollection" />

请记住,如果您使用 API,您的数据将异步到达。因此,组件已安装,渲染图表,但您的数据不在那里。因此,您需要添加一个 v-if 来确保您的 api 调用已完成。

关于vue.js - vue-chartjs 从父组件加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47574462/

相关文章:

npm - 将 Vue npm 模块导入我的 javascript 文件

vue.js - Vue - 实例数据未定义

javascript - vm.handleClick 不是 vue.js 上的函数

vuejs2 - 如何将数据从 Vue 实例传递到组件

django - 如何将我的 sqlite 数据传递给 django 并制作图表?

javascript - Vue meta 没有得到更新

javascript - 返回数组中带有父元素的单个子元素

vue.js - 带有 v-for 的动态 v 模型

javascript - 在 chartJS 和 Angular 上水平滚动时使 y 轴变粘

javascript - 我可以绑定(bind)一个onclick事件并在chartjs中编辑一个点吗