Vue中實現獲取元素的class屬性相對簡單,通過el屬性可以獲取到當前組件所對應的根節點DOM元素,然后通過classList屬性獲取其class列表即可。具體實現如下:
mounted() { let el = this.$el; let classList = el.classList; }
當然,如果需要獲取指定class的元素,可以使用querySelector或querySelectorAll方法,如下:
mounted() { let foo = this.$el.querySelector('.foo'); let bars = this.$el.querySelectorAll('.bar'); // ... }
如果在腳手架中使用Vue,則可以使用ref屬性直接獲取指定元素的引用,這樣可以更方便和直接地操作元素:
<template> <div> <div ref="foo" class="foo"></div> <div ref="bar" class="bar"></div> </div> </template> <script> export default { mounted() { let foo = this.$refs.foo; let bar = this.$refs.bar; // ... } } </script>
如果需要在Vue組件的函數方法之外操作DOM元素,可以考慮使用Vue的$nextTick方法以確保DOM更新已完畢,否則有可能無法正確獲取到DOM元素,代碼如下:
export default { mounted() { this.$nextTick(() =>{ let el = this.$el; let classList = el.classList; // ... }) } }
此外,如需對DOM元素進行其他操作,Vue提供了豐富的指令和方法,如v-show、v-bind、v-on等。使用這些指令和方法可以更加方便地實現對元素的操作,同時確保這些操作不會影響Vue組件的生命周期和其他狀態。
綜上所述,Vue中獲取元素的class屬性相對簡單,通過el屬性和classList屬性即可獲取到元素的類名列表。同時,使用ref屬性也可以直接獲取指定元素的引用。但需要注意的是,在Vue組件中操作DOM元素需要遵循一定的規則,并考慮其對Vue組件的生命周期和其他狀態的影響。
下一篇c 中的json