很抱歉,对于某些人来说这可能是一个显而易见的问题,但是我对后端技术很有经验,因此到目前为止,我的直觉并没有帮助,我也无法提出完美的措辞让google帮助我。
我有一个角度库,其中导出了几个辅助函数,但是我不能从导入文件的类中调用它们。尽管它仅在类外部可用。如何在班级内部访问它?
导出函数的库:
export function saveAs(data: string | Blob, fileName: string, options?: SaveOptions): void;
我将其导入的类:
import * as FileSaver from '@progress/kendo-file-saver'
const dataURI = "data:text/plain;base64," + btoa("Hello World!");
//Below function call is resolved
FileSaver.saveAs(dataURI, 'test.txt', {
forceProxy: true,
proxyURL: '/save-handler',
});
@Injectable({providedIn: 'root'})
export class FileProxyService {
constructor (){}
private base64 ;
//Below function call is not recognized
FileSaver.saveAs(dataURI, 'test.txt', {
forceProxy: true,
proxyURL: '/save-handler',
});
}
答案 0 :(得分:0)
在使用从其他来源导出的函数/方法之前,需要将对象注入到当前的ts文件中。
导入kendo-file-saver:
import { FileSaver } from '@progress/kendo-file-saver';
并像这样更改您的构造函数:
constructor(private fileSaver:FileSaver) {}
现在您有了一个名为fileSaver的Filesaver的(注入)对象,可以使用其SaveAs方法
fileSaver.SaveAs(dataURI, 'test.txt', {
forceProxy: true,
proxyURL: 'save-handler', });