使用 method 和 axios 在 vue 中更新数据

update data in vue with method and axios

我想在我的网络界面上显示一个图表。我想用vue js实现web界面。为此,我使用 axios 将数据从后端传递到前端。我可以在我的表面上显示一个空图。但是我传递的数据没有显示。我的代码有什么问题,我的数据没有显示在图表上。 在下面你可以看到我实现的代码。

    <b-container class="ml-auto">
      <b-row>
        <b-col>
          <vue-plotly :data="dataA" :layout="layout" :options="options"/>
        </b-col>
      </b-row>
    </b-container>
    export default {
      components: {
        VuePlotly,
      },
      data() {
        return {
          dataA: [{
            x: [],
            y: [],
          }],
          layout: {
            title: 'ScreePlot',
            bargap: 0.05,
            xaxis: {
              range: [0, 9],
              title: 'x',
              tick0: 0,
              dtick: 1,
            },
            yaxis: {
              range: [0, 2000],
              title: 'y',
              tick0: 0,
              dtick: 1,
            },
          },
          options: {
            displayModeBar: false,
            responsive: true,
            watchShallow: true,
            autoResize: true,
          },
        };
      },
     mounted() {
        this.getScreePlot();
      },
      methods: {
        getScreePlot() {
          const path = 'http://localhost:5000/Diagramm';
          axios.get(path)
            .then((res) => {
              this.dataA.x = res.data.x;
              this.dataA.y = res.data.y;
            })
            .catch((error) => {
              // eslint-disable-next-line
              console.error(error);
            });
        },
      }, 
    };

如果这样定义

  dataA: [{
            x: [],
            y: [],
          }],

你应该这样填写:

            .then((res) => {
              this.dataA.push( 
                {
                  x: res.data.x,
                  y: res.data.y
                }) ;
            })