无法清空 Vue 计算数组 属性

Cannot empty Vue computed array property

嗨!

我想在 watch 中更改一个 Vue 计算数组,但它不会清空它。数组推送有效,但在此之前,截断无效。

有什么问题吗?有什么想法吗?

谢谢!

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;
                }
            }
        }
    }
});

这就是计算属性的用途 - 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;
    }
}