Vue如何實現(xiàn)自動觸發(fā)功能
實現(xiàn)自動觸發(fā)功能
今天在項目中遇到一個問題,就是當(dāng)頁面加載的時候,我希望某個元素通過點(diǎn)擊事件添加樣式,試了下jQuery的trigger方法,并沒有任何效果,于是只能手動添加,先把功能實現(xiàn),晚上回來的時候,閑著沒事做便溫故Vue知識點(diǎn),正好聽到視頻中老師在講解關(guān)于自定義指令directives屬性,于是便試了下
<button @click='toggle' v-trigger>toggle</button>
directives:{ ? ? trigger:{ ? ? ?inserted(el,binging){ ? ? ? ? el.click() ? ? ? ?//$(el).trigger('click') ? ? ? } ? ?} }
頁面加載的時候,點(diǎn)擊事件被執(zhí)行了!
自定義指令實現(xiàn)自動點(diǎn)擊事件
vue實現(xiàn)自動點(diǎn)擊事件,剛進(jìn)入頁面即發(fā)生點(diǎn)擊事件。
這里用的是vue的自定義指令directive,具體使用可移步到vue文檔。
1.若是沒有v-for循環(huán)
則直接放入directive自定義指令。
<template> <div class="clickdown" @click="myClick()" v-clickDown>自動點(diǎn)擊</div> </template> export default { ?directives: { ? ? ? ? ? ? clickDown: { ? ? ? ? ? ? ? ? inserted(el) { ? ? ? ? ? ? ? ? ? ? ? ? el.click() ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } }
2.若是有v-for循環(huán)
需要自動點(diǎn)擊索引第一個,則需要binding。
<template> <div class="clickdown" @click="myClick()" v-for="(item,index) in list" :key="index" v-clickDown="index">自動點(diǎn)擊索引第一個</div> </template> export default { ?directives: { ? ? ? ? ? ? clickDown: { ? ? ? ? ? ? ? ? inserted(el,binding,index) { ? ? ? ? ? ? ? ? ? ? if(binding.value===0){ ? ? ? ? ? ? ? ? ? ? ? ? el.click() ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? } }
好了,完美!
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue中element-ui不能修改el-input框,或是不能修改某些值問題
這篇文章主要介紹了vue中element-ui不能修改el-input框,或是不能修改某些值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10ElementUI中el-dropdown-item點(diǎn)擊事件無效問題
這篇文章主要介紹了ElementUI中el-dropdown-item點(diǎn)擊事件無效問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04vue點(diǎn)擊input彈出帶搜索鍵盤并監(jiān)聽該元素的方法
今天小編就為大家分享一篇vue點(diǎn)擊input彈出帶搜索鍵盤并監(jiān)聽該元素的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08使用Vue中 v-for循環(huán)列表控制按鈕隱藏顯示功能
這篇文章主要介紹了使用Vue中 v-for循環(huán)列表控制按鈕隱藏顯示功能,需要的朋友可以參考下2019-04-04vue中使用h5 video標(biāo)簽實現(xiàn)彈窗播放本地視頻的方法
本文主要介紹了vue中使用h5 video標(biāo)簽實現(xiàn)彈窗播放本地視頻的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04