组件选项“computed”应该是一个对象

时间:2017-08-09 16:58:02

标签: vue.js vuejs2 vue-component

我在Vue v2.4.1中收到此错误。我不确定它的含义:

  

[Vue警告]:组件选项“计算”应该是一个对象。

我的代码如下所示:

export default {
    data() {
        return {
            bookings: [],
            games: [],
            slots: [],
            startTime: {
                time: moment().format("YYYY-MM-DD")
            }
        };
    },
    components: {
        'date-picker': myDatepicker,
        'reserved' : Reserved
    },
    ready() {
        this.prepareComponent();
    },
    mounted() {
        this.prepareComponent();
    },
    methods: {
        prepareComponent() {
            this.getGames();
            this.getSlots();
            this.getBookings(this.startTime.time);
        },
        onDateChange(){
        },
        formatSlot(slot){
        },
        getGames(){
        },
        getSlots() {
        },
        getBookings(date){
        },
        isReserved(gameId,slotId){
        },
        getReservedBooking(gameId,slotId){
        },
        isPastTime(time, date){
        },
        getUrl(date,slot_id,game_id){
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您收到此错误的原因是,在项目的某个位置,您正在定义一个Vue组件,其中computed选项设置为非对象的内容。

检查项目是否发生了这种情况,并用对象替换computed选项的值。

很有可能,您错误地写了computed() { ... }而不是computed: { ... }

Here is the basic example of a computed property from the documentation.