【发布时间】:2018-03-31 22:00:08
【问题描述】:
我一直在尝试将 angular-file-upload here https://github.com/nervgh/angular-file-upload 与 typescript 一起使用,但我不断收到此错误:
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>
【问题讨论】:
标签: javascript angularjs typescript file-upload angular-file-upload