类型“ ...”上不存在属性“ ...”

时间:2019-04-26 19:57:34

标签: typescript vue.js vuejs2

当我尝试在vue类组件模板中使用$CONSTANTS全局组件变量时,出现此错误:

  

类型“ PlacesAutocomplete”上不存在属性“ $ CONSTANTS”

发生错误的代码如下:

<template>
    <Icon :color='$CONSTANTS.COLORS.GRAY__NORMAL' />
</template>

<script lang="ts">
    import {Component, Vue} from 'nuxt-property-decorator';

    @Component
    export default class PlacesAutocomplete extends Vue {};
</script>

我以这种方式在全局变量中添加$ CONSTANTS变量:

Vue.prototype.$CONSTANTS = {SOME: 'constant'};

打字稿是造成此错误的原因,我使用打字稿还很陌生,到目前为止,我已经尝试通过以下方式解决此问题:

index.d.ts

interface PlacesAutocomplete { // Adding $CONSTANTS type definition to current component
    $CONSTANTS: any;
}

interface PlacesAutocomplete { // Adding $CONSTANTS type definition to Vue interface
    $CONSTANTS: any;
}

这些都不起作用。 另外,此错误不会破坏资产编译或在控制台中引发任何错误,它只是强调$CONSTANTS告诉我有错误。

编辑:

如果这有任何改变,我正在使用Vscode + Vetur

0 个答案:

没有答案