vue-property-decorator @Prop如何使用接口定义数组

时间:2018-08-23 04:10:36

标签: typescript vue.js

'use strict'

import Vue from 'vue'
import { Prop, Watch } from 'vue-property-decorator'

interface ITabs {
    name: string
    value: string
}

export default class extends Vue {
    @Prop({
        type: Array,
        default() {
            return []
        }
    })
    public tabs!: ITabs[] // TS2416
}
  

TS2416:类型“默认”的属性“标签”不可分配给   基本类型“ object&Record&Vue”具有相同的属性。类型   'ITabs []'不可分配给类型'{name:“”;值:“”; } [] |   未定义”。类型'ITabs []'不能分配给类型'{name:“”;   值:“”; } []'。类型'ITabs'不可分配给类型'{name:“”;   值:“”; }'。属性“名称”的类型不兼容。类型   不能将'string'分配给'“”'类型。

我想使用Prop Array中的接口,该怎么办?

1 个答案:

答案 0 :(得分:0)

万一有人像我一样挣扎,这对我有用:

@Prop({ default: () => {
        return [ ]
    }
    }) private tabs!: ITabs[];