這是我的 ng 代碼:
<div class="p-field col-12">
<label for="image">Main Image</label>
<input type="file" class="p-inputtext" accept="image/*" (change)="onImageUpload($event)">
<div>
<img {src}="imageDisplay" alt="">
</div>
</div>
這是我的組件代碼:
export class ProductsFormComponent implements OnInit {
imageDisplay: string | ArrayBuffer | null | undefined;
constructor() { }
ngOnInit(): void {}
onImageUpload(event){
const file = event.target.files[0];
if (file) {
const fileReader = new FileReader();
fileReader.onload = () => {
this.imageDisplay = fileReader.result;
}
fileReader.readAsDataURL(file);
}
}
}
get productForm(){
return this.form.controls;
}
}
這是錯誤:
Error: apps/admin/src/app/pages/products/products-form/products-form.component.ts:77:17 - error TS7006: Parameter 'event' implicitly has an 'any' type.
77 onImageUpload(event)
uj5u.com熱心網友回復:
用這個
const file: File = <File>event.target.files[0];
代替
this.file = event.target.files[0];
進而
const reader = new FileReader();
reader.readAsDataURL(file);
試試這個它會作業
uj5u.com熱心網友回復:
請嘗試onImageUpload(event:any)這應該有效。
uj5u.com熱心網友回復:
錯誤是由于您定義onImageLoad方法的方式造成的。
onImageUpload(event)
這是因為打字稿。
- 由于 angular 使用打字稿,我們可以指定方法呼叫的引數型別。示例:以下將解決錯誤
onImageUpload(event: Event)
- 有一個
tsconfig.json由 angular cli 自動生成的檔案。此檔案指定在編譯代碼時要使用的打字稿編譯器的配置。在這里,我們可以配置專案中所需的型別等。因此將noImplicitAny選項設定為 false 也可以解決問題。
如果可能,我建議使用 option1。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/320985.html
上一篇:有什么方法可以在angular外部單擊時關閉模態彈出視窗?
下一篇:除錯安卓應用時,這個錯誤是什么?
