企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] #### v-if 在 Vue.js,我们使用 v-if 指令实现同样的功能: <h1 v-if="true">Yes</h1> 也可以用 v-else 添加一个 “else” 块: <h1 v-if="true">Yes</h1> <h1 v-else>No</h1> #### v-else-if: <input type="text" v-model="age"> <span v-if="age<20">小孩</span> <span v-else-if="age<30">青年</span> <span v-else-if="age<50">壮年</span> <span v-else>老年</span> #### v-show: 另一个根据条件展示元素的选项是 v-show 指令。用法大体上一样: <h1 v-show="true">Hello!</h1> #### v-if vs. v-show 在切换 v-if 块时,Vue.js 有一个局部编译/卸载过程,因为 v-if 之中的模板也可能包括数据绑定或子组件。v-if 是真实的条件渲染,因为它会确保条件块在切换当中合适地销毁与重建条件块内的事件监听器和子组件。 v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——在条件第一次变为真时才开始局部编译(编译会被缓存起来)。 相比之下,v-show 简单得多——元素始终被编译并保留,只是简单地基于 CSS 切换。 一般来说,v-if 有更高的切换消耗而 v-show 有更高的初始渲染消耗。因此,如果需要频繁切换 v-show 较好,如果在运行时条件不大可能改变 v-if 较好。 #### 使用key唯一令牌解决表单值混乱问题 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="vue.js"></script> <script src="node_modules/axios/dist/axios.js"></script> <script src="node_modules/lodash/lodash.js"></script> </head> <body> <div id="hdcms"> <template v-if="regType=='mail'"> 邮箱: <input type="text" name="username" key="mail-register"> </template> <template v-else> 手机: <input type="text" name="username" key="phone-register"> </template> <br> <input type="radio" value="mail" v-model="regType"> 邮箱注册 <input type="radio" value="phone" v-model="regType"> 手机注册 </div> <script> var app = new Vue({ el: '#hdcms', data: { regType: 'mail' } }); </script> </body> </html>