我正在尝试为我们的项目构建一个简单的csv阅读器。首先,我在JS中建立了一个并且工作正常,但我很难将其转换为ts。
这是简单的HTML代码:
editans
这是在其上运行的打字稿:
<div id="dvImportSegments" class="fileupload">
<fieldset>
<legend>Upload your CSV File</legend>
<input type="file" name="File Upload" id="txtFileUpload" (change)="changeListener($event)" accept=".csv"/>
</fieldset>
</div>
但我有一些错误,import {Component, ViewEncapsulation} from 'angular2/core';
import {Router} from 'angular2/router';
import {ContentService} from "../service/contentService";
import {RouteParams} from "angular2/router";
@Component({
selector: 'createCsv',
templateUrl: 'app/partials_html/createCsv.component.html',
encapsulation: ViewEncapsulation.None
})
export class CreateCsvComponent {
changeListener($event):void {
this.upload($event.target);
}
upload(inputValue:any):void {
var data = null;
var file:File = inputValue.files[0];
var reader:FileReader = new FileReader();
//reader.readAsText(file);
reader.onloadend = function (e) {
var csvData = reader.result;
data = $.csv.toArrays(csvData); //???
if (data && data.length > 0) {
alert('Imported -' + data.length + '- rows successfully!');
} else {
alert('No data to import!');
}
};
reader.onerror = function () {
alert('Unable to read ' + file);
};
}
//}
}
他在那里找不到$符号,我该如何解决?
提前致谢
答案 0 :(得分:2)
他找不到那里的$符号
您可能正在使用https://github.com/evanplaice/jquery-csv
您需要一个不属于您的代码库的 JavaScript库的TypeScript声明文件。一个简单的vendor.d.ts
:
declare var $:any;
此外,您还需要查看模块加载程序,以确保在运行代码之前加载了所需的库。
有关声明文件和迁移的一些文档:https://basarat.gitbooks.io/typescript/content/docs/types/migrating.html