TS2351:不能使用' new'表达式,其类型缺少调用或构造签名

时间:2016-11-11 08:46:23

标签: angularjs typescript

我在项目中实现cropperjs有点麻烦。即使我认为它注入正确,我仍然会收到上述错误。

请查看我的代码

module view.pages.controllers {

export class CropToolController {

    public static $inject = ["Cropper"];

    constructor(
        private Cropper: cropperjs.Cropper
    ) {
        var image = document.getElementById('image');
        var cropper = new Cropper(image, {
          aspectRatio: 16 / 9,
          crop: function(e) {
            console.log(e.detail.x);
            console.log(e.detail.y);
            console.log(e.detail.width);
            console.log(e.detail.height);
          }
        });

    }

    private getFileUrl(id: string) {
        return this.$urlHelper.getAssetUrl(id);
    }        
}}

不知道定义文件中是否有错误,但对我来说似乎不错

export class Cropper {
    constructor(element: HTMLImageElement, options: CropperOptions);

    crop(): void;
    reset(): void;
    ...}

任何人都知道我在这里做错了什么?感谢

1 个答案:

答案 0 :(得分:0)

你试图注入“Cropper”,但你需要一个Angular模块来注入它。你试过Ng-Cropper?

吗?