效果:
思路:
- 利用input的type屬性,當(dāng)type值是text的時(shí)候展示密碼,當(dāng)type值是password的時(shí)候隱藏密碼;
- 于是很容易想到用v-bind來(lái)綁定type,同時(shí)用一個(gè)布爾值來(lái)控制,寫成三元表達(dá)式的形式;
- 加入一個(gè)圖片元素,點(diǎn)擊圖標(biāo)元素切換這個(gè)布爾值,就可以達(dá)到切換顯示隱藏,切換布爾值的同時(shí)也切換圖標(biāo)。
頁(yè)面布局
1
2
3
4
5
6
|
<div id= 'app' > <!--三元表達(dá)式 pwdFlag為真則type是password密碼隱藏 pwdFlag為假則type是text密碼顯示 --> 密碼:<input :type= 'pwdFlag?"password":"text"' size= '10' > <!--pwdFlag為真說(shuō)明密碼是隱藏的,顯示眼睛打開(kāi)圖標(biāo),反之顯示眼睛關(guān)閉圖標(biāo)--> <img :src= 'pwdFlag?textIcon:pwdIcon' @click= "changePwd" style= "width:16px;" > </div> |
JS代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
new Vue({ el: '#app' , data:{ pwdFlag: true , //密碼標(biāo)示 true表示當(dāng)前是密碼形式 textIcon: './images/show.jpg' , //展示圖標(biāo) pwdIcon: './images/hide.jpg' , //隱藏圖標(biāo) }, methods:{ //改變密碼表示 changePwd: function (){ //密碼標(biāo)示取反即可 this .pwdFlag=! this .pwdFlag; } } }) |
完整代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<!DOCTYPE html> <html lang= "en" > <head> <meta charset= "UTF-8" > <meta name= "viewport" content= "width=device-width, initial-scale=1.0" > <title>Document</title> </head> <style> </style> <body> <div id= 'app' > <!--三元表達(dá)式 pwdFlag為真則type是password密碼隱藏 pwdFlag為假則type是text密碼顯示 --> 密碼:<input :type= 'pwdFlag?"password":"text"' size= '10' > <!--pwdFlag為真說(shuō)明密碼是隱藏的,顯示眼睛打開(kāi)圖標(biāo),反之顯示眼睛關(guān)閉圖標(biāo)--> <img :src= 'pwdFlag?textIcon:pwdIcon' @click= "changePwd" style= "width:16px;" > </div> </body> <script src= "vue.js" ></script> <script> new Vue({ el: '#app' , data:{ pwdFlag: true , //密碼標(biāo)示 true表示當(dāng)前是密碼形式 textIcon: './images/show.jpg' , //展示圖標(biāo) pwdIcon: './images/hide.jpg' , //隱藏圖標(biāo) }, methods:{ //改變密碼表示 changePwd: function (){ //密碼標(biāo)示取反即可 this .pwdFlag=! this .pwdFlag; } } }) </script> </html> |
到此這篇關(guān)于vue實(shí)現(xiàn)密碼顯示隱藏功能的思路詳解的文章就介紹到這了,更多相關(guān)vue實(shí)現(xiàn)密碼顯示隱藏內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/dkm123456/article/details/115012655