无法在Vue中使用属性装饰器@Prop

Inc*_*ble 0 decorator typescript vue.js vue-component vuejs2

我在Vue 2中有一个组件:

import Vue from 'vue';
import Component from 'vue-class-component';
import Prop from 'vue-property-decorator';

@Component({
  template: require('./template.html'),
})

export class SuklTableApprComponent extends Vue {

  @Prop() 
  type: any;

  @Prop()
  data: any;

  mounted() {}

}
Run Code Online (Sandbox Code Playgroud)

我正在按照文档中的说明进行操作,但是打字稿不会让我使用该@Prop装饰器。它抛出一个错误:

TS2349:无法调用类型缺少调用签名的表达式。类型'typeof“ / home / tomasturan / programming / sukl / reg-dis-forms-v2 / node_modules / vue-property-decorator / li ...'没有兼容的呼叫签名。

这是为什么?我有一个类似的项目,其中似乎所有配置都相同,并且可以正常工作。为什么会引发此错误?

Tit*_*mir 5

我认为问题出在您的进口声明上。

import Vue from 'vue';
import Component from 'vue-class-component';
import { Prop } from 'vue-property-decorator'; // no default import, used { Prop } to import the decorator

@Component({
  template: require('./template.html'),
})
export class SuklTableApprComponent extends Vue {

  @Prop()
  type: any;
  @Prop()
  data: any;
  mounted() { }

}
Run Code Online (Sandbox Code Playgroud)