我有文件控制,并且我正在使用jquery设置数据属性。但是当我提交表单时,我得到的是null value of data属性。
ad.html
<div class="field" align="left">
<span>
<h3>Upload your images</h3>
<input type="file" id="files" data-filedata="" name="files[]" multiple (change)="preview($event)" />
</span>
</div>
设置数据属性的Jquery代码
$("#files").on("change", function(e) {
e.target.setAttribute('data-filedata', 'abc');
})
ad.ts
preview(event) {
console.log(event.target.getAttribute('data-filedata'))
}
发布于 2018-10-08 23:38:40
您可能不应该混用jquery和Angular,所以这里有一个没有jquery的解决方案:
ad.html:
<div class="field" align="left">
<span>
<h3>Upload your images</h3>
<input type="file" id="files" [attr.data-filedata]="filedata" name="files[]" multiple (change)="preview($event)" />
</span>
</div>
ad.ts:
class Ad {
filedata = '';
preview(event) {
this.filedata = 'abc';
console.log(event.target.getAttribute('data-filedata'))
}
}
由于角度的变化检测周期,您不会看到新值,直到您第二次更改文件。但是如果你使用浏览器的开发工具,你会看到data-filedata会在你上传文件后立即更新。
https://stackoverflow.com/questions/52705387
复制相似问题