Vue中给data中的对象属性添加一个新的属性时会发生什么,如何解决?

Vue中给data中的对象属性添加一个新的属性时会发生什么,如何解决?,第1张

示例:

点击button会发现, obj.b 已经成功添加,但是视图并未刷新:

原因在于在Vue实例创建时, obj.b 并未声明,因此就没有被Vue转换为响应式的属性,自然就不会触发视图的更新,这时就需要使用Vue的全局api—— $set():

$set() 方法相当于手动的去把 obj.b 处理成一个响应式的属性,此时视图也会跟着改变了:

data-*是HTML5新增的一个自定义数据属性功能,作为可以暂存数据使用。利用dataset可以获取data-属性构造的对象,该方法目前只能在Chrome 、Opera等部分浏览器中实现,其他浏览器如需获取其属性值需要使用getAttribute和setAttribute来 *** 作。

(1)通过dataset方法获取

注意:data-之后以连字符分割的多个单词组成的属性,获取时候需要使用驼峰风格。如例子中的font-size需要改成fontSize。

如果你想删掉一个data-属性:

(2)、使用getAttribute方法获取

2、、data-*属性选择器用法

可以根据自定义的data-属性选择相关的元素。例如使用querySelectAll选择元素,例如

同样的我们也可以通过 data- 属性值对应的元素设置CSS样式,如下

部分内容参考如下出处: https://zhuanlan.zhihu.com/p/94849216


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11225072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存