我正在尝试从Angular 2项目中的数据输入创建PDF。为此,我整合了pdfMake。创建静态PDF工作得很好,但是当我尝试打印出一些值时,它就出错了。
请看看这个plunker:https://plnkr.co/edit/7tPFTAjKWwaRp1IbT0Tg?p=preview
我设法将一个对象放入我的buildPdf函数中,然后它被提交到控制台。但是当我尝试将我的一个对象值添加到pdfMake docdefinition时,我收到错误消息:
ORIGINAL EXCEPTION:TypeError:无法读取未定义的属性“firstName”
var docDefinition = {
content: [{
text: 'My name is: ' + pdfContent.firstName + ' ' + pdfContent.lastName + '.'
}]
}
我试图通过在typescript中重写我的buildPdf.js来排除打字问题,看起来像这样:
var buildPdf: (value: {firstName: string, lastName: string}) => any =
function(value: {firstName: string, lastName: string}): any {
let docDefinition:any = {
content: [{
text: 'This is a test.'
}]
}
console.log(value);
return docDefinition;
}
但结果保持不变。
为什么我能控制对象但不能访问其属性?我错过了什么?
答案 0 :(得分:4)
似乎是由这一行引起的
buildPdf: any = new buildPdf();
我不知道你需要它。它抛出因为它访问传递的值但是没有传递。
有关正在使用的Plunker,请参阅https://plnkr.co/edit/NPLHxVgC5LthA4g2WpUx?p=preview。