首页 文章

不能在vue中使用属性装饰器@Prop

提问于
浏览
0

我在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() {}

}

我正如文档中所述那样做,但是typescript不会让我使用那个@Prop装饰器 . 它抛出一个错误:

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

这是为什么?我有一个simmilar项目,其中一切似乎配置相同,并在那里工作 . 为什么会抛出这个错误?

1 回答

  • 4

    我认为问题在于你的import语句 .

    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() { }
    
    }
    

相关问题