欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue 刪除某個(gè)class

錢衛(wèi)國1年前11瀏覽0評論

在web開發(fā)中,有時(shí)我們需要操作DOM元素來實(shí)現(xiàn)一些交互效果,例如添加、刪除class等。在vue中,可以通過v-bind:class或:class來動(dòng)態(tài)綁定class,但在某些情況下,可能需要手動(dòng)刪除DOM元素上的某個(gè)class,那么我們該如何實(shí)現(xiàn)呢?

// 獲取DOM元素
 let element = document.getElementById('el')
 // 刪除某個(gè)class
 element.classList.remove('class-name')

以上代碼實(shí)現(xiàn)了通過getElementById獲取DOM元素對象,通過classList.remove()方法刪除element元素上的class-name樣式名。不過,在vue中,推薦使用refs來獲取元素對象,refs是vue中引用的一個(gè)API,可以用來觸發(fā)子組件或子元素的方法或?qū)傩浴?/p>

// html代碼中給元素添加ref屬性
// vue實(shí)例代碼中獲取元素 mounted() { let element = this.$refs.el element.classList.remove('class-name') }

通過給元素添加ref屬性,可以在vue實(shí)例中通過this.$refs.el來獲取元素對象,從而實(shí)現(xiàn)刪除元素上的某個(gè)class。當(dāng)然,以上代碼還可以進(jìn)一步封裝成一個(gè)指令來使用:

// 注冊指令
Vue.directive('removeClass', {
inserted: function (el, binding) {
el.classList.remove(binding.value)
}
})
// 使用指令

通過Vue.directive來注冊一個(gè)名為removeClass的指令,并在inserted鉤子函數(shù)中實(shí)現(xiàn)了刪除元素上某個(gè)class的功能。使用時(shí),在元素上使用v-remove-class="'class-name'"即可。以上三種方法,都可以實(shí)現(xiàn)刪除DOM元素上的某個(gè)class,可以根據(jù)自己的需求選擇最合適的方式。