溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用vue怎么實現(xiàn)一個用戶登錄切換功能

發(fā)布時間:2021-04-22 15:13:57 來源:億速云 閱讀:533 作者:Leah 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)使用vue怎么實現(xiàn)一個用戶登錄切換功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

Vue的優(yōu)點

Vue具體輕量級框架、簡單易學(xué)、雙向數(shù)據(jù)綁定、組件化、數(shù)據(jù)和結(jié)構(gòu)的分離、虛擬DOM、運行速度快等優(yōu)勢,Vue中頁面使用的是局部刷新,不用每次跳轉(zhuǎn)頁面都要請求所有數(shù)據(jù)和dom,可以大大提升訪問速度和用戶體驗。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="app">
        <span v-if="isUser">
            <label for="username">用戶賬號</label>
            <input type="text" id="username" placeholder="用戶賬號">
        </span>
        <span v-else>
            <label for="email">用戶郵箱</label>
            <input type="text" id="email" placeholder="用戶郵箱">
        </span>
        <button @click="isUser = !isUser">切換類型</button>
    </div>
    <script src="../js/vue.js"></script>
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                isUser: true
            }
        })

    </script>
</body>
</html>

效果展示

使用vue怎么實現(xiàn)一個用戶登錄切換功能

存在問題

  • 如果我們在有輸入內(nèi)容的情況下,切換了類型,我們會發(fā)現(xiàn)文字依然顯示之前的輸入的內(nèi)容。

  • 但是按道理講,我們應(yīng)該切換到另外一個input元素中了。

  • 在另一個input元素中,我們并沒有輸入內(nèi)容。

使用vue怎么實現(xiàn)一個用戶登錄切換功能

為什么會出現(xiàn)這個問題呢?

這是因為Vue在進(jìn)行DOM渲染時,出于性能考慮,會盡可能的復(fù)用已經(jīng)存在的元素,而不是重新創(chuàng)建新的元素。
在上面的案例中,Vue內(nèi)部會發(fā)現(xiàn)原來的input元素不再使用,直接作為else中的input來使用了。

解決方案

  • 給對應(yīng)的input添加key

  • 保證key的不同

完美版登錄小案例

input里面添加不同的key

代碼

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <div id="app">
        <span v-if="isUser">
            <label for="username">用戶賬號</label>
            <input type="text" id="username" placeholder="用戶賬號" key="username">
        </span>
        <span v-else>
            <label for="email">用戶郵箱</label>
            <input type="text" id="email" placeholder="用戶郵箱" key="email">
        </span>
        <button @click="isUser = !isUser">切換類型</button>
    </div>
    <script src="../js/vue.js"></script>
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                isUser: true
            }
        })

    </script>
</body>
</html>

效果展示

使用vue怎么實現(xiàn)一個用戶登錄切換功能

看完上述內(nèi)容,你們對使用vue怎么實現(xiàn)一個用戶登錄切換功能有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI