typeScript 装饰器注入类

我想要在Vue中修饰进去一个类,与Vue组件的类同时被实例话,这里我考虑使用typescript的装饰器。

我在vue中调用修饰方法的时候,传入了一个类,但是,我在方法里面new这个类的时候,抛出了一个错误。

Cannot use 'new' with an expression whose type lacks a call or construct signature.

代码如下:

import Instance from "@/assets/utils/Decoration";

@Instance(LoginDomain)
@Component
export default class VFormLogin extends Vue {}
const Instance  = (Category:object):Function => {
    return function (target:Function):void{
        new Category();
        //  ???? 解决这里
        //  使用装饰器,装饰进去一个类
        //  与Vue一起实例化
    }
}
export default Instance;

这种思路是否可以实现,求解答。

已关闭 悬赏分:80
反对 0举报 0 收藏 0

回答1

  • @

    @Component包装过的应该是一个对象 无法使用new操作符的 但是你可以试试在导出这个组件后再用Instance包装,vue-loader会帮你处理的

    支持 0 反对 0 举报
    2021-11-27 11:21