Bootstrap Vue Progress Bar не может получить свое значение из функции - PullRequest
0 голосов
/ 23 ноября 2018

Я использую Bootstrap Vue для отображения индикатора выполнения.Часть HTML выглядит следующим образом:

<b-progress :value="getOverallScore" :max=5 variant="primary" animated></b-progress>

getOverallScore - это вычисляемая функция.Он возвращает среднее значение трех разных оценок.

    computed: {
    getOverallScore: function () {
        var i;
        var sum = 0;

        for (i = 0; i < this.items.length; i++) {
            sum = sum + this.items[i].score;
        }
        return Number.parseFloat(sum / this.items.length).toFixed(2);
    },


}

Когда я тестировал вывод с помощью <h5>Overall scores: {{ getOverallScore }}</h5>, он работает отлично, но индикатор выполнения не может получить значение из функции.Есть идеи?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Хорошо, я исправил это, изменив вычисленное на следующее:

    computed: {
    getOverallScore: function () {
        var i;
        var sum = 0;

        // Will get all reviews through API calls
        for (i = 0; i < this.items.length; i++) {
            sum = sum + this.items[i].score;
        }

        this.average = Number.parseFloat(sum / this.items.length).toFixed(2);

        return Number.parseFloat(sum / this.items.length);
    },


}

Очевидно, когда я использую .toFixed(2), b-progress больше не распознает значение как число, а как строку,Я попытался преобразовать его с помощью Number(this.average) и вернуть, что все еще не работает.Я нахожу это очень странным, поскольку функция toFixed является частью встроенной библиотеки и почему-то не распознает ее как функцию.Выходное значение в порядке, поэтому функция toFixed работает.Понятия не имею, почему это так.

0 голосов
/ 23 ноября 2018

Вы уверены, что находитесь в правильном диапазоне?

Возможно, ваши значения находятся в диапазоне от [0,100] и ожидаемых диапазонов значений [0,0,1.0].

...