uniapp小程序事件对象:如何访问自定义属性?
在Uniapp小程序开发中,常常需要在组件事件处理函数中获取组件的自定义属性。然而,直接从事件对象获取这些属性有时会失败。本文将解释原因并提供解决方案。
问题:
开发者使用v-bind绑定名为msg-data的自定义属性,期望在@click事件中通过event.target获取其值。代码如下:
登录后复制
然而,handleClick函数中打印event.target,却找不到msg-data属性。虽然可以使用函数传参解决,但开发者不明白为何无法直接从事件对象获取自定义属性。
解答:
这并非微信小程序MVC模式的问题,而是由于DOM属性(property)和HTML属性(attribute)的差异导致的。v-bind默认绑定的是HTML属性,而非DOM属性。因此,event.target只能通过event.target.attributes访问HTML属性,无法直接访问event.target.msg-data。
解决方案:
使用.prop修饰符强制将msg-data绑定为DOM属性:
登录后复制
添加.prop后,msg-data将作为DOM属性绑定到按钮元素,event.target.msg-data即可访问其值。
这与Vue.js的v-bind指令特性相关,更多细节请参考Vue.js官方文档。
以上就是Uniapp小程序事件对象中如何获取自定义属性?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3191134.html