欢迎光临散文网 会员登陆 & 注册

Vue从零开始总结14

2021-04-13 21:31 作者:忘魂儿  | 我要投稿

v-if和v-else实例:切换登录方式

html中

<form action="yourServer">
 <div id="app">
   <div id="one" v-if="flag">
     <span >普通登录</span>
     <br>
     <label for="phone">账号:</label>
     <input type="text" placeholder="手机号" id="phone">
     <br>
     <label for="psw1">密码:</label>
     <input type="password" placeholder="">
   </div>

   <button @click.prevent="change">切换登录方式</button>

   <button style="position:relative;left: 75px">提交</button>
 </div>
</form>

js中

data:{

flag:true

}

methods:{
change(){
 this.flag=!this.flag;
}

效果如下:


值得注意的是如果向input里面输入内容的话,这个内容在两个登录方式下会自动进行复用,而我们想要的是每次切换都进行一个清空的操作

那么这时候我们就需要加入key属性,当检测到两个key值不相同时,就不会进行复用

<div id="one" v-if="flag" key="one">

<div id="two" v-else key="two">

或者更有针对性的

<label for="phone">账号:</label>
<input type="text" placeholder="手机号" id="phone" key=''one'>
<br>
<label for="psw1">密码:</label>
<input type="password" placeholder="******" id="psw1" key="one">

另外两个为two就行

还有另外一个属性也值得说一下,就是v-show

它是呢意为隐藏,通过boolean来判断,适用于频繁显示和隐藏

当它为false的时候,所做的操作是为对应元素添加行内样式display:none

而我们的v-if为false且v-else没有设置的时候,也是隐藏,只不过不在dom中显示


Vue从零开始总结14的评论 (共 条)

分享到微博请遵守国家法律