Не удается очистить свойство вычисляемого массива Vue - PullRequest
0 голосов
/ 05 июня 2018

Hy!

Я хочу изменить вычисляемый массив Vue в watch, но он не очищает это.Push массива работает, но до этого усечение не работает.

В чем проблема?Есть идеи?

Спасибо!

var vm = new Vue({
    el: '#form',
    data: {
        form: {
            strFirstName: null,
            strLastName: null,
            strPhone: null,
            numStartTime: 11,
            numEndTime: 18
        }
    },
    computed: {
        rowEndTime: function() {
            var rowTime = [];
            for (var i = 11; i < 19; i++) {
                rowTime.push(i);
            }
            return rowTime;
        }
    },
    watch: {
        'form.numStartTime': function(numNewStartTime) {
            this.rowEndTime = [];

            for (var i = numNewStartTime; i < 19; i++) {
                this.rowEndTime.push(i);
                if (this.form.numEndTime <= numNewStartTime) {
                    this.form.numEndTime = numNewStartTime;
                }
            }
        }
    }
});

1 Ответ

0 голосов
/ 05 июня 2018

Вот для чего рассчитаны свойства - https://vuejs.org/v2/guide/computed.html#Computed-vs-Watched-Property

Вы можете просто посмотреть некоторые значения в функции вычисляемого свойства.

В вашем случае:

computed: {
    rowEndTime: function() {
        var rowTime = [];
        for (var i = this.form.numStartTime; i < 19; i++) {
            rowTime.push(i);
        }
        return rowTime;
    }
}
...