Как получить значение от 1 объекта с некоторыми атрибутами, и я хочу поместить это значение в гистограмму? - PullRequest
0 голосов
/ 06 апреля 2020

Я хотел бы обернуть мой ответ в 1 объект, и его результат будет следующим:

{"status":200,"message":"OK","result":{"order":3,"totalLoan":60000000,"outstanding":20000000,"d0":0,"d1d2":2,"d3d7":5,"d8d30":3,"d31d90":0,"d91":0,"overdue":10,"notOverdue":0}}

Я хочу создать гистограмму для значений атрибутов из d0, d1d2, d3d7, d8d30, d31d90 и d91 но моя гистограмма никогда не существует :(

как я могу получить значение от объекта для ввода в набор данных, и оно становится значением для гистограммы ??

Я пытался каким-то другим способом, например, сделать его массив для каждого d0, ... d91, но это не сработало, и я попытался l oop объект, чтобы я мог получить значение из d0, ... d91, но он выиграл тоже не работает!

пожалуйста, кто-нибудь, помогите мне, как я могу сделать гистограмму в этом случае :( большое спасибо!

это мой код. vue

<script>
import BarChart from "./Chart.vue";
import axios from "axios";
export default {
  components: {
    BarChart
  },
  data: () => ({
    chartdata: null,
    options: null,
    loaded: false
  }),
  async mounted() {
    this.loaded = false;
    var url ="http://localhost:8080/api/view/Normal%20Loan/20000000"
    await axios
      .get(url)
      .then(res => {
        console.log(res);
        this.loaded = true;
        this.chartdata = {
          labels: ["0", "1","2","3","4","5"],
          datasets: [
            {
              label: "apasaja",
              data: [res.data.d0, res.data.d1d2, res.data.d3d7, res.data.d8d30, res.data.d3190, res.data.d91],
              backgroundColor: [
                "rgba(255, 99, 132, 1)",
                "rgba(54, 162, 235, 1)",
                "rgba(54, 122, 135, 1)",
                "rgba(255, 99, 132, 1)",
                "rgba(54, 162, 235, 1)",
                "rgba(54, 122, 135, 1)",
              ],
              borderColor: [
                "rgba(255, 99, 132, 0.2)",
                "rgba(54, 162, 235, 0.2)",
                "rgba(255, 99, 132, 0.2)",
                "rgba(54, 162, 235, 0.2)",
                "rgba(255, 132, 235, 0.2)",
                "rgba(255, 132, 135, 0.2)",
              ],
              borderWidth: 1
            }
          ]
        };
        this.options = {
          scales: {
            yAxes: [
              {
                ticks: {
                  beginAtZero: true
                }
              }
            ]
          },
          maintainAspectRatio: false,
          title: {
            display: true,
            text: " overdue data"
          }
        };
      })
      .catch(err => {
        console.log(err);
      });
  }
};
</script>

и это мой график. vue

<script>
import { Bar } from 'vue-chartjs'
export default {
  extends: Bar,
  props: {
    chartdata: {
      type: Object,
      default: null
    },
    options: {
      type: Object,
      default: null
    }
  },
  mounted () {
    this.renderChart(this.chartdata, this.options)
  }
}
</script>
...