Angular 1.x typescript "TypeError: "Uploader" must be an instance of FileUploader"

Angular 1.x typescript "TypeError: "Uploader" must be an instance of FileUploader"

我一直在尝试使用 angular-file-upload here https://github.com/nervgh/angular-file-upload 和打字稿,但我不断收到此错误:

TypeError: "Uploader" 必须是 FileUploader 的实例 我必须在实际的 angular-file-upload 上放置一个声明模块和导出命名空间才能使用模块(因为我们的框架就是这样构建的)但我似乎无法克服这个错误

不要担心模块初始化或命名空间名称等,我应该在此处放置占位符以不显示我们的实际代码。

代码如下:

/// <reference types="angular" />
/// <reference types="angular-ui-bootstrap" />
/// <reference types="angular-file-upload"/>

var bootbox: any;

module MyModule.module {
    export class MyController  {
      
                

        static $inject = [
            "$scope",
            "$q",
            "$state",           
            "FileUploader"
               
        ];

        constructor(private scope: any,
            private promiseService: angular.IQService,
            private stateService: angular.ui.IStateService,          
            private uploader: angular.file.upload.FileUploader
            )                      
        {

            this.uploader.url = "upload.php";

            this.scope.uploader = this.uploader
}

(function () {
"use strict";
angular.module("myApp").controller("app.mymodule.controller", Namespace.MyApp.MyController);
})();
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<input type="file" nv-file-select uploader="vm.uploader" /><br />

<ul>
  <li ng-repeat="item in uploader.queue">
    Name: <span ng-bind="item.file.name"></span><br />
    <button ng-click="item.upload()">upload</button>
  </li>
</ul>

尝试用 new angular.file.upload.FileUploader()

实例化 FileUploader

我解决了我的问题,我没有正确使用接口。这是正确的代码:

constructor(private scope: any,
  private fileUploaderFactory: angular.file.upload.FileUploaderFactory) {


  this.scope.uploader = new fileUploaderFactory({
    url: 'upload.php'
  });
}