<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="app">
<span v-if="isShow">
<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="changeClick">切换类型</button>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el:'#app',
data:{
isShow:true
},
methods:{
changeClick(){
this.isShow = !this.isShow;
}
}
})
</script>
</body>
</html>
点击切换按钮:
注意事项:
<span v-if="isShow">
<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="changeClick">切换类型</button>
- label标签中的for="username"和input标签中的id="username",可以实现聚焦功能:点击"用户账号"等价于点击input输入框。
- 在Vue中,虚拟DOM复用组件,通过添加key属性,可以标记两个input标签为两个不同的DOM,这样可以阻止input标签的复用,达到将一种情况下已经输入的内容进行清空的效果。否则已经输入的内容不会因为点击切换类型,而被清除。