首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在angular 6中读取数据属性值

如何在angular 6中读取数据属性值
EN

Stack Overflow用户
提问于 2018-10-08 23:18:33
回答 1查看 9K关注 0票数 0

我有文件控制,并且我正在使用jquery设置数据属性。但是当我提交表单时,我得到的是null value of data属性。

ad.html

代码语言:javascript
运行
复制
<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代码

代码语言:javascript
运行
复制
$("#files").on("change", function(e) {      
    e.target.setAttribute('data-filedata', 'abc');
})

ad.ts

代码语言:javascript
运行
复制
preview(event) {     
    console.log(event.target.getAttribute('data-filedata'))
}
EN

回答 1

Stack Overflow用户

发布于 2018-10-08 23:38:40

您可能不应该混用jquery和Angular,所以这里有一个没有jquery的解决方案:

ad.html:

代码语言:javascript
运行
复制
<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:

代码语言:javascript
运行
复制
class Ad {
   filedata = '';

    preview(event) {
        this.filedata = 'abc';
        console.log(event.target.getAttribute('data-filedata'))
    }
}

由于角度的变化检测周期,您不会看到新值,直到您第二次更改文件。但是如果你使用浏览器的开发工具,你会看到data-filedata会在你上传文件后立即更新。

Here's a stackblitz

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52705387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档