【Vue】指令之显示切换,属性绑定

Vue指令【2】

显示切换与属性绑定

v-show指令

作用:根据真假切换元素的显示状态

  • 指令后的内容最终都会解析为布尔值
  • 数据改变之后,对应元素的显示状态会同步更新

语法:

html 复制代码
<div id="app">
	<img v-show="true" src="地址" >
	<img v-show="isShow" src="地址" >
	<img v-show="age>=18" src="地址" >
</div>
 <script>
      var app = new Vue({
        el:"#app",
        data:{
          isShow:false,
          age:17
        }
      })
 </script>   

v-if指令

作用:根据表达式的真假切换元素的显示状态

与v-show指令不同的是,v-if操纵的是DOM元素 ,v-show操纵的是display 样式。

因此,频繁的切换使用v-show,反之使用v-if,前者的切换消耗小

语法:

html 复制代码
<div id="app">
	<p v-if="true">我是一个p标签</p>
	<p v-if="isShow">我是一个p标签</p>
	<p v-if="表达式">我是一个p标签</p>
</div>
 <script>
      var app = new Vue({
        el:"#app",
        data:{
          isShow:false,
        }
      })
 </script>   

v-bind指令

作用:设置元素的属性(比如src,title,class)

  • 简写可以省略v-bind,只保留:属性名
  • 如果需要动态增删class建议使用对象的方式,更加简便

语法:

html 复制代码
<div id="app">
	<img :src="imgSrc">
	<img :class="{active:isActive}"> // active的值是否生效取决于isActive
</div>
 <script>
      var app = new Vue({
        el:"#app",
        data:{
          imgSrc:"图片地址",
          isActive:false
        }
      })
 </script>   
相关推荐
传人once7 小时前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
用户033307413957 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
web3d5207 小时前
Vue3 地图白屏排查清单:容器、弹窗与 ol-viewport 重复创建
vue.js·gis
daisychey7 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒8 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员8 小时前
iOS冷启动监控Demo
前端
光影少年8 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱9 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO9 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天9 小时前
趋势过滤:避免被“假突破“反复打脸
前端