Vue17-条件渲染

一、使用v-show属性做条件渲染

控制元素的显示和隐藏

v-show里面也能是表达式,只要表达式的值是boolean就行。

或者

当时结构还在:

二、使用v-if属性做条件渲染

结构也不在了

三、示例

方式一:

方式二:

当元素有很高的切换频率,用v-show,因为节点在,只是动态的控制隐藏和显示。

若是用v-if会不断地在DOM中增加、删除节点,存在效率上的问题。

四、v-else和v-else-if的指令

注意:

使用v-if和v-else和v-else-if使用时,中间不能被打断!!!

五、<template>标签的使用

渲染效果:

使用<template>标签的时候,渲染之后,页面并不会加上<template>标签!!!
注意:

<template>标签只能结合v-if使用,不能配合v-show使用!!!

5-1、 HTML 中<template>标签说明

在原生 HTML 中,<template> 元素是一种用于声明性影子 DOM(或称为模板 DOM)的机制。它允许你定义一个不被显示的代码块,在需要时可以被 JavaScript 引用并激活。

<template> 标签中的内容在页面加载时不会渲染,也不会执行其中的脚本。这使得它非常适合用于定义可复用的 HTML 结构,然后通过 JavaScript 动态插入到文档中。

html 复制代码
<template id="my-template">  
  <p>这是一些隐藏的内容,直到被激活。</p>  
</template>

你可以使用 JavaScript 来克隆并激活这个模板,然后将其插入到 DOM 中。

5-2、vue中<template>标签说明

在 Vue.js 中,<template> 标签用于声明性地渲染 DOM 结构。

它允许你根据条件或列表来渲染多个元素,而不需要使用一个额外的 DOM 元素来包裹它们。在 Vue 模板中,<template> 标签本身不会被渲染为 DOM 元素,但它内部的内容会根据 Vue 的指令(如 v-ifv-for 等)进行渲染。

例如,在 Vue 中,你可能会这样使用 <template>

javascript 复制代码
<template>  
  <div>  
    <template v-if="showMessage">  
      <p>{{ message }}</p>  
    </template>  
    <template v-else>  
      <p>没有消息可显示。</p>  
    </template>  
  </div>  
</template>  
  
<script>  
export default {  
  data() {  
    return {  
      showMessage: true,  
      message: '这是一条消息。'  
    };  
  }  
};  
</script>

六、小结

相关推荐
何日成熟24 分钟前
修改 vue-pdf 源码升级 pdfjs-dist 包, 以解决部分 pdf 文件显示花屏问题
前端·vue.js·pdf
橙子yq24 分钟前
pdfjs-dist实现pdf预览偶现空白不报错问题解决
前端·javascript·pdf
itachi-uchiha26 分钟前
Apache Apisix配置ip-restriction插件以限制IP地址访问
前端·firefox
每一天,每一步42 分钟前
React+MapBox GL JS引入URL服务地址实现自定义图标标记地点、区域绘制功能
前端·javascript·react.js
取个好名称1 小时前
适合初学者的 Blender 第二部分
java·前端·blender
阿乐今天敲代码没1 小时前
echarts定制化柱状图——条纹柱状图
前端·echarts
linux-hzh2 小时前
CSS回顾
前端·css
天若有情6732 小时前
C++ 结构体封装模式与 Promise 链式调用:设计思想的异曲同工
前端·javascript·c++
.生产的驴2 小时前
Vue3 数据可视化屏幕大屏适配 页面自适应 响应式 数据大屏 大屏适配
java·c++·vue.js·后端·信息可视化·前端框架·vue
源码云商2 小时前
基于 Spring Boot + Vue 的墙绘产品展示交易平台设计与实现【含源码+文档】
vue.js·spring boot·后端