Vue學習10_Vue實現簡易的切換登入方式
Vue實現簡易的切換登入方式
示例程式碼:
<div id="app">
<!-- 這裡涉及到Vue的虛擬Dom,在輸入框輸入的內容點選切換時,輸入框內容還在,要想不復用,可以加個key,key一樣複用,不一樣不復用 -->
<!-- 為v-if設定flag值,當其為true時顯示賬號登陸 -->
<span v-if="flag">
<label for="username">使用者賬號:</label>
<input type="text" id="username" placeholder="使用者賬號" key="username">
</span>
<!-- 為v-else設定flag值,當其為true時顯示郵箱登陸 -->
<span v-else>
<label for="email">郵箱地址:</label>
<input type="text" id="email" placeholder="郵箱地址" key="email">
</span>
<button @click="change">切換登入</button>
</div>
<script>
const app = new Vue({
el: '#app',
data: {
message: 'Hello World',
flag: true,
},
methods: {
change() {
// 更改當前的flag值取反,實現切換方式
this.flag = !this.flag;
}
}
});
</script>
執行結果:
點選切換按鈕:
由於給輸入框設定了key的值,因此輸入的內容不會複用:即再賬號登陸介面輸入的賬號資訊,再點選切換時,輸入框內不會保留之前輸入的值。這裡涉及到虛擬DOM的知識點:
在vue中,由於存在虛擬DOM這一概念,當頁面顯示使用者賬號登陸的div時,在虛擬DOM中就已經對介面進行了渲染,當點選切換登入按鈕時,虛擬DOM並不會立即重新建立一個div進行渲染,而是檢視在虛擬DOM中是否有可複用的現成的已經渲染好的標籤,在上述程式碼中,由於input輸入框是兩個div共有的,按鈕也是兩個div共有的,因此在虛擬DOM中不會重新建立input輸入框,而是對使用者賬號登入中的虛擬DOM進行了複用,在不加key的情況下,input輸入框兩者用的其實是同一個(所以不加key在上一個介面輸入的值,點選切換時還會保留),若想區分開兩者間的input輸入框,需要為其加上一個key屬性以此來區別。
相關文章
- vue實現單點登入的N種方式Vue
- 學習Promise && 簡易實現PromisePromise
- 簡易版 vue實現Vue
- vue 實現tab切換動態載入不同的元件Vue元件
- 簡易的主題切換功能
- vue-admin-template 學習筆記 登入實現Vue筆記
- 實現一個簡易的vueVue
- vue實現簡訊驗證碼登入Vue
- Java 語言實現簡易版掃碼登入Java
- KOA的簡易模板引擎實現方式
- 基於Vue的簡易MVVM實現VueMVVM
- 遊戲陪玩原始碼的登入方式,簡訊驗證碼登入的實現遊戲原始碼
- 實現Vue專案主題切換Vue
- 前端 javascript 練習題 -簡易年曆及tab切換簡易年曆【千鋒】前端JavaScript
- 實現登入態的幾種方式
- 簡易 Vue 評論框架的實現————父元件的實現Vue框架元件
- 簡單介紹Vue實現滑鼠懸浮切換圖片srcVue
- 基於vue3+electron11實現QQ登入切換|自定義導航欄|托盤|打包Vue
- Flutter Web網站之最簡方式實現暗黑主題無縫切換FlutterWeb網站
- 基於vue全家桶實現的簡易商城Vue
- 單點登入的三種實現方式
- Vue+Express實現登入,登出VueExpress
- 易語言實現一個登入程式
- Vue原始碼分析之實現一個簡易版的VueVue原始碼
- win10怎麼切換不同的登入賬戶_win10如何切換登入使用者Win10
- vue2.0實現底部導航切換效果Vue
- Vue實現內部元件輪播切換效果Vue元件
- 非常規 - VUE 實現特定場景的主題切換Vue
- java實現簡單的單點登入Java
- 簡單實現一個全面屏切換效果
- react/vue中dom-diff簡易版實現ReactVue
- JQuery實現簡單美觀的圖片切換效果jQuery
- vue-router 2 簡易入門Vue
- javascript 非同步模組載入 簡易實現JavaScript非同步
- 簡單登入註冊實現(Java物件導向複習)Java物件
- 基於 Session 實現簡訊登入Session
- 簡單實用的JDK版本切換JDK
- vue實現登入和個人資訊元件展示Vue元件