一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。
v-model和修饰符
-
作用:value属性和vue数据变量,双向绑定到一起
-
双向绑定:- 变量变化-->视图自动同步
- 视图变化-->变量自动同步
-
主要用途:表单中
-
应用场景:
- 全选反选功能(非数组)
- 考试系统(数组)
- 手机用户信息:爱好 是否有以下XXX (数组)
-
select标签上:需要将v-model写在select上,里面的option里的value中需要设置
复选框(checkbox):需要将v-model写在input上,并都添加上value上
复选框双向绑定:
v-model绑定复选框时分两种情况,由变量的类型决定
数组
将复选框的value值放入数组中
非数组(
最终都会转成boolean)变量会收到一个boolean值,本质就是checked属性
==复选框双向绑定时分两种情况,如果绑定是数组,本质是将复选框的value值放入数组,如果绑定的是非数组,本质上将复选框的checked值同步给变量。==
-
单选框:需要将v-model写在input上,里面的input里的v-model需要设置一样,里面再添加一个value值,用于后台交互
-
v-model.修饰符=“vue数据变量”
修饰符:
.number以parseFloat转成数值类型
.trim去除首尾空白字符(中间空格无法去除)
.lazy懒,在change(失去焦点)时触发而非input时
v-html
- 作用:同innerHtml作用,会
覆盖插值表达式
v-show和v-if以及v-else
v-show原理是 设置display:none
v-if 原理是从DOM树上移除
==v-else注意事项:他必须紧贴着v-if书写,中间不能隔其他标签以及换行==
-
应用场景:
- 频繁切换显示隐藏该应用: v-show
- 如果元素可能一直不显示,应该用 v-if
-
示范:
<template> <div id="app"> <h3>案例:折叠面板</h3> <div> <div class="title"> <h4>芙蓉楼送辛渐</h4> <span class="btn" @click="isShow=!isShow"> {{isShow?'收起':'展开'}} </span> </div> <div class="container" v-show="isShow"> <p>寒雨连江夜入吴,</p> <p>平明送客楚山孤。</p> <p>洛阳亲友如相问,</p> <p>一片冰心在玉壶。</p> </div> </div> </div> </template> <script> export default { data() { return { isShow: true } }, } </script>