Vue|数据渲染

news2024/11/23 22:01:28

Vue 是如何将编译器中的代码转换为页面真实元素的?在Vue 中,自带了模板渲染,而模板的语法也非常简洁易懂。
精彩专栏持续更新↓↓↓
微信小程序实战开发专栏

  • 一. 数据渲染
    • 1.1 条件渲染
      • v-if
      • v-show
    • 1.2 列表渲染
      • v-for
    • 1.3 小结

一. 数据渲染

1.1 条件渲染

vue条件渲染指令包括v-if、v-else、v-else-if、v-show。v-if指令用于条件性地渲染一块内容,这块内容只会在指令的表达式返回真值时才被渲染;v-show根据一个条件决定是否显示元素或者组件,依赖于控制display属性。

v-if

在开始前准备如下,创建对应的分录文件夹以及页面

在这里插入图片描述

在html中创建对应的标签及vue实例

在这里插入图片描述

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>数据渲染</title>
    <script src="../js/vue.js" type="text/javascript"></script>
</head>
<body>
    <!-- 准备好一个容器 -->
    <div id="root">
        
    </div>


    <script type="text/javascript">
        //Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。
        // 创建vue实例
        const vm = new Vue({
            el:'#root',
            //函数式
            data:function(){
                return{
                    name:'摔跤猫子',
                };
            },
            methods:{
                
            },
        });
        
    </script>
</body>
</html>

需求来了,如何动态操作div的显示隐藏呢? 在html中隐藏一个div这个功能想必大家都很擅长,直接给div加一个display:none就ok,当然也可以通过操作DOM的方式来给这个div追加一个样式,不过归根结底还是不够灵活,那么在vue中该如何实现呢?

在这里插入图片描述

<div style="display:none;">
    {{name}}
</div>

在vue中是有着条件渲染指令的,在实例中定义一个bool类型的字段,同时在div标签中使用v-if指令

在这里插入图片描述

在这里插入图片描述

可以通过素材看出html中div的显示隐藏是可以通过在data中定义的变量来控制的

在这里插入图片描述

在网页右击查看源代码,可以看到整个div并没有隐藏,而是直接被移除掉了,这是因为v-if是真正的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

在这里插入图片描述

既然有v-if,那必然也有else了,通过案例来更好的来理解v-if条件渲染,在html中绘制标签如下,通过点击按钮的方式来控制div显示隐藏

在这里插入图片描述

 <!-- v-if -->
 <div v-if="show">
     <h2>{{name}}</h2>
 </div>
 <div v-else>
     <h2>{{name}}被隐藏了</h2>
 </div>
 
 <button type="button" @click="switchDiv()">点我</button>

同时在vue实例的methods中实现对应的click事件

在这里插入图片描述

 switchDiv(){
    this.show = !this.show;
 },

通过下方的素材可以更加直观的看到,div标签在不断的销毁和重建

在这里插入图片描述
在这里插入图片描述

v-show

简单的业务场景可以用v-if,如果在切换频繁的场景用v-if可能就不大合适了,在数据量很大或者样式复杂的页面反复构建的过程可能会给用户带来不好的体验,那么有没有一种可替代方案来解决呢?

v-show关键字,使用方法跟v-if一致,通过在data中定义的bool字段来控制其显示隐藏

在这里插入图片描述

<div v-show="show">
	<h2>{{name}}</h2>
</div>

通过素材图可以很清晰的看到,div标签始终都在,只不过当值为false时,给它赋予了一个display的样式

在这里插入图片描述

1.2 列表渲染

列表渲染通俗易懂一点的解释就是获取列表中的各种数据,并将它展示出来

在这里插入图片描述

在这里插入图片描述

v-for

在vue中通过v-for指令来展示,在data中定义好需要遍历的数据源

在这里插入图片描述

articleList:[
	{
		title:'微信小程序|基于小程序+云开发制作一个菜谱小程序',
		author:'摔跤猫子',
	},
	{
		title:'还在想假期去哪玩?直接做一个旅游攻略小程序',
		author:'摔跤猫子',
	}
],

在html代码中直接将v-for定义在li标签中

在这里插入图片描述

<ul>
	<li v-for="(item,index) in articleList">{{item.title}}-{{item.author}}</li>
</ul>

在这里插入图片描述

1.3 小结

  • 条件渲染v-if指令
  • 使用场景:切换频率较低
  • 特点:切换时不符合表达式条件的DOM元素是直接被移除,而非显示隐藏,再次切换渲染时则需要重新构建
  • 注意:v-if 可与 v-else-if、v-else同时使用,但是在html结构中不能被打断,中间不能掺杂其他元素
  • 条件渲染v-show指令
  • 使用场景:切换频率较高
  • 特点:不符合表达式条件的DOM元素未被移除,而是使用样式进行隐藏
  • 列表渲染v-for指令
  • 用于展示列表数据
  • 语法 v-for = (item,index) in 数据源
  • 可遍历展示数组、对象、字符串等形态数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/418165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3. 500 服务器异常 html

目录 1.效果图 2.code 1.效果图 2.code <!DOCTYPE html> <html><head><meta charset="utf-8"><title>500</title><style type="text/css">html,body {margin: 0;padding: 0;height: 100%;min-height: 450px;…

Git --- 常用命令、分支操作、团队协作机制

一、Git 概述 Git 是一个免费的、开源的分布式版本控制系统&#xff0c;可以快速高效地处理从小型到大型的各种项目 Git 易于学习&#xff0c;占地面积小&#xff0c;性能极快。它具有廉价的本地库&#xff0c;方便的暂存区域和多个工作流分支等特性 其性能优于 Subversion、…

多通道振弦传感器无线采集仪与参数配置工具连接

多通道振弦传感器无线采集仪与参数配置工具连接 VS101~VS432 设备配备了专门的参数配置工具 SETP 来完成设备工作参数的查看和修改工作。 连接前的准备工作 &#xff08; 1&#xff09;数据接口与计算机连接 使用标配的通讯线与计算机 RS232 接口连接。 若需基于手机网络发送数…

Java-异常机制

异常机制 正常情况下&#xff0c;程序按照我们希望的样子和步骤去执行&#xff0c;但是&#xff0c;代码就像人生&#xff0c;要是一帆风顺了&#xff0c;就要想想是不是哪里出事了。程序若是有报错还好&#xff0c;就怕没有报错。 实例 public class Test {public static vo…

如何用 YonBuilder 构建线索管理应用

加速企业数智营销&#xff1a;如何用 YonBuilder 构建线索管理应用 如何用 YonBuilder 低代码开发线索管理应用&#xff1f; 线索管理是指通过各种渠道收集、筛选、打分、分配、跟进和培育潜在客户的信息&#xff0c;以便将其转化为成交客户的过程。 通过数智化手段实现良好…

ArcGIS地质图矢量化技巧

01 概述 今天以ArcGIS为例&#xff0c;结合多年的工作经验&#xff0c;来介绍一下地质图矢量化的技巧。 02 底图的配准 不同比例尺的图件&#xff0c;有着不同的配准精度要求&#xff1a; 1&#xff1a;20万的地质图&#xff0c;配准误差不能高于20米&#xff1b; 1:50万…

DFIG控制9: 搭建定子αβ坐标系下的电机模型

DFIG控制9&#xff1a; 搭建定子αβ坐标系下的电机模型。本文基于教程的第9部分&#xff08;终于做完了&#xff09;。主要目的是自己搭建一个DFIG的电机模型&#xff0c;与Simulink库中的模型做个对比。 本文基于教程的第9部分&#xff1a; DFIM Tutorial 9 - Analytical Mod…

Focal Loss论文解读和调参教程

论文&#xff1a;Focal Loss for Dense Object Detection 论文papar地址&#xff1a;ICCV 2017 Open Access Repository 在各个主流深度学习框架里基本都有实现&#xff0c;本文会以mmcv里的focal loss实现为例&#xff08;基于pytorch&#xff09; 简介&#xff1a; 本文是…

1.mybatis-plus入门及使用

1.什么是MybatisPlus MyBatis-Plus 官网 为什么要学MybatisPlus&#xff1f; MybatisPlus可以节省大量时间&#xff0c;所有的CRUD代码都可以自动化完成MyBatis-Plus是一个MyBatis的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效…

Java——数组中出现次数超过一半的数字

题目链接 牛客在线oj题——数组中出现次数超过一半的数字 题目描述 给一个长度为 n 的数组&#xff0c;数组中有一个数字出现的次数超过数组长度的一半&#xff0c;请找出这个数字。 例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次&#xff0c;…

FastDFS与Nginx结合搭建文件服务器,并内网穿透实现公网访问

文章目录前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.1 …

低代码开发重要工具:jvs-flow (流程引擎)2.1.7版本更新内容

流程引擎主要包含了流程定义和编辑、任务分配和处理、流程监控和跟踪、数据模型和存储、条件和规则设置、安全性和权限管理、性能优化以及持续集成和部署等功能&#xff0c;以满足不同业务场景下的需求。 JVS流程引擎从V2版本开始&#xff0c;由flowable切换为 jvs-flow&#…

2023 年 五 大数据恢复软件帮助您找回数据

您是否刚刚丢失了一份需要数天工作才能更换的重要文件&#xff1f;不要恐慌&#xff01;此列表中排名前 10 位的最佳数据恢复软件应用程序可以帮助您找回数据&#xff0c;您甚至可能不必在它们上花任何钱。 五大最佳数据恢复软件工具 以下是我们最喜欢的 10 大数据恢复软件应用…

记录-vue项目中使用PWA

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 前言&#xff1a; 梳理了一下项目中的PWA的相关用法&#xff0c;下面我会正对vue2和vue3的用法进行一些教程示例&#xff0c;引入离线缓存机制&#xff0c;即使你断网&#xff0c;也能访问页面。一旦用…

动力节点王鹤SpringBoot3笔记——第八章 文章管理模块

目录 第八章 文章管理模块 8.1 配置文件 8.2 视图文件 8.3 Java代码 第八章 文章管理模块 创建新的Spring Boot项目&#xff0c;综合运用视频中的知识点&#xff0c;做一个文章管理的后台应用。 新的Spring Boot项目Lession20-BlogAdmin。Maven构建工具&#xff0c;包…

VxLAN数据中心L2互连(hand-off方式)

用Arista的veos做了个DCI&#xff08;hand-off&#xff09;实验。模拟了VxLAN数据中心hand-off方式做L2互通。 在此分享。 实现思路 分别在DC1、DC2内配置BGP EVPN协议创建VXLAN隧道&#xff0c;实现各数据中心内部VM之间的通信&#xff0c;DC1-BL和DC2-BL通过二层接口方式接…

spring事务(注解 @Transactional )失效场景

目录标题1. 代理不生效1.1 将注解标注在接口方法上1.2 被final、static关键字修饰的类或方法1.3 类方法内部调用示例解决方案&#xff1a;新加一个Service方法1.4 (类本身) 未被spring管理2. 框架或底层不支持的功能2.1 非public修饰的方法2.2 多线程调用举例1举例22.3 数据库本…

C. Uncle Bogdan and Country Happiness(dfs + 回溯)

Problem - C - Codeforces 波格丹叔叔在弗林特船长的团队里待了很长一段时间&#xff0c;有时会怀念他的家乡。今天他告诉你他的国家是如何引入幸福指数的。有n个城市和n -1条连接城市的无方向道路。任何城市的公民都可以通过这些道路到达任何其他城市。城市编号从1到n&#xf…

【软考:软件设计师】 4 计算机组成与体系结构(三)计算机安全 | 加密技术

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于软考中级&#xff1a;软件设计师系列专栏,本专栏服务于软考中级的软件设计师考试,包括不限于知识点讲解与真题讲解两大部分,并且提供电子教材与电子版真题,关注私聊即可 …

服务(第二篇)LAMP

一、编译安装apache ①关闭防火墙&#xff0c;将安装Apache所需软件包传到/opt目录下 systemctl stop firewalld.service setenforce 0 [rootxxx opt]# ls apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 ②安装环境依赖包 yum -y install gcc gcc-c mak…