由于无法读取未定义 angular 的 属性 'key' 而出现错误
getting error as Cannot read property 'key' of undefined angular
我的以下代码出现错误
错误
TypeError: Cannot read property 'key' of undefined at EditorComponent.push.xD4D.EditorComponent.setFillColor (editor.component.ts:634)
ts
setFillColor(swatch: any): void {
this.palettes.selected = swatch;
this.props.fill = swatch.key;
this.setFill();
if (!this.props.canvasImage) {
console.log('say hi')
this.canvas.backgroundColor = this.props.canvasFill;
this.canvas.renderAll();
};
}
这是我的 HTML 代码
<input type="text" class="form-control" [cpPosition]="'right'" [cpPresetColors]="customColors" [cpOKButton]="true" [cpAddColorButtonText]="'Speichern'" [cpAddColorButton]="true" [cpOKButtonClass]="'btn btn-light btn-sm'" [cpSaveClickOutside]="false" [(colorPicker)]="props.canvasFill"
[style.background]="props.canvasFill" [value]="props.canvasFill" (cpPresetColorsChange)="updateColorPresets($event)"
(colorPickerChange)="setFillColor()"/>
检查您的输入数据,例如:
setFillColor(swatch: any): void {
if (!swatch) {
debugger
}
并在开发工具中查看调用堆栈。
在某些情况下,您的函数将“未定义”作为参数。您应该定义它发生的原因,并可能编写代码来处理这种情况。
这是因为您没有将任何值从 HTML 代码传递给方法 setFillColor
。
您可以将当前值传递为:
(colorPickerChange)="setFillColor($event.target.value)"
我的以下代码出现错误
错误
TypeError: Cannot read property 'key' of undefined at EditorComponent.push.xD4D.EditorComponent.setFillColor (editor.component.ts:634)
ts
setFillColor(swatch: any): void {
this.palettes.selected = swatch;
this.props.fill = swatch.key;
this.setFill();
if (!this.props.canvasImage) {
console.log('say hi')
this.canvas.backgroundColor = this.props.canvasFill;
this.canvas.renderAll();
};
}
这是我的 HTML 代码
<input type="text" class="form-control" [cpPosition]="'right'" [cpPresetColors]="customColors" [cpOKButton]="true" [cpAddColorButtonText]="'Speichern'" [cpAddColorButton]="true" [cpOKButtonClass]="'btn btn-light btn-sm'" [cpSaveClickOutside]="false" [(colorPicker)]="props.canvasFill"
[style.background]="props.canvasFill" [value]="props.canvasFill" (cpPresetColorsChange)="updateColorPresets($event)"
(colorPickerChange)="setFillColor()"/>
检查您的输入数据,例如:
setFillColor(swatch: any): void {
if (!swatch) {
debugger
}
并在开发工具中查看调用堆栈。
在某些情况下,您的函数将“未定义”作为参数。您应该定义它发生的原因,并可能编写代码来处理这种情况。
这是因为您没有将任何值从 HTML 代码传递给方法 setFillColor
。
您可以将当前值传递为:
(colorPickerChange)="setFillColor($event.target.value)"