javascript - 来自组件的 Angular 事件监听器

标签 javascript html angular dom

我希望能够从 <input type="file" id="fileLoader"> 中上传的图像更新图像 SRC 属性,我已经使用 vanilla JS 实现了这个。我如何在 Angular 组件中做同样的事情

我的代码如下

使用 JavaScript

window.addEventListener('load', function() {
  document.querySelector('#fileLoader').addEventListener('change', function() {
    if (this.files && this.files[0]) {
      var img = document.querySelector('img');
      img.src = URL.createObjectURL(this.files[0]);
    }
  });
});


<img src="https://via.placeholder.com/150" alt="">

我如何在 Angular 分量中复制它?

最佳答案

我认为你可以简化很多

1) 使用两种方式的数据绑定(bind)和 ngModel 将您的 url 值绑定(bind)到您的输入:

<!-- your input element -->
<input type="file" (change)="uploadImage($event)"/>

3) 在你的组件中

// extract the url of the data and let it appear
public uploadImage(event: any) {
  this.myModel = URL.createObjectURL(event.target.files[0])
}

2)你的形象

<img [src]="myModel">

这应该有效!

关于javascript - 来自组件的 Angular 事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59140843/

相关文章:

html - xhtml2pdf 在创建 pdf 时不应用 css(html 到 pdf)

javascript - 如何给函数添加名称?

angular - 如何以编程方式触发 mat-table 排序?

angular - mat autocomplete - 如何设置未找到的选项

javascript - 如何在 Firefox OS 设备上调试 javascript 文件

javascript - Node和Document方法选择的依据?

javascript - 通过sequelizejs从mysql数据库将数据加载到图表中

javascript - 提供嵌入内容的 JavaScript 链接

javascript - 如果名称和值与输入复选框字段匹配,请检查复选框

css - 如何从 Angular 中的子组件修改父组件的 css 属性