当前位置: 首页 > news >正文

Vue学习教程-14内置指令

文章目录

  • 前言
  • 一、v-text指令
  • 二、v-html指令
  • 三、v-cloak指令
  • 四、v-once指令
  • 五、v-pre指令
  • 六、其他指令


前言

Vue.js 提供了许多内置指令(Directives),这些指令用于在模板中添加特殊功能。内置指令以 v- 前缀开始。

  1. v-text : 更新元素的 textContent
    • 更新元素的 textContent
    • 例如:<span v-text="message"></span>
  2. v-html : 更新元素的 innerHTML
    • 更新元素的 innerHTML
    • 例如:<div v-html="rawHtml"></div>
  3. v-if : 如果为 true, 当前标签才会输出到页面
    • 根据表达式的真假值条件性地渲染元素。v-if 是“惰性”的:如果条件为假,则元素不会出现在 DOM 中。
  4. v-else: 如果为 false, 当前标签才会输出到页面
  5. v-show : 通过控制 display 样式来控制显示/隐藏
    • 根据表达式的是与否来切换元素的显示状态(通过改变 CSS 的 display 属性)。
    • 例如:<p v-show="isShown">Visible only if isShown is truthy.</p>
  6. v-for : 遍历数组/对象
    • 基于源数据多次渲染元素或模板块。
    • 例如:<li v-for="item in items">{{ item.text }}</li><div v-for="(value, name) in object">{{ name }}: {{ value }}</div>
  7. v-on : 绑定事件监听, 一般简写为@
    • 用于绑定事件监听器。
    • 例如:<button v-on:click="doSomething">Click me</button><button @click="doSomething">Click me</button>
  8. v-bind : 绑定解析表达式, 可以省略 v-bind,简写为:
    • 用于动态地绑定一个或多个属性到表达式。
    • 例如:<a v-bind:href="url"><a :href="url">
  9. v-model : 双向数据绑定
    • 在表单元素上创建双向数据绑定。
    • 例如:<input v-model="message">
  10. v-cloak : 防止闪现, 与 css 配合: [v-cloak] { display: none }
    • 这个指令保持在元素上直到 Vue 实例结束编译。常与 CSS 规则一起使用,可以隐藏未编译的 Mustache 标签直到 Vue 完成编译。
    • 例如:在 CSS 中使用 [v-cloak] { display: none },然后在模板中使用 <div v-cloak>{{ message }}</div>
  11. v-pre:跳过这个元素和它的子元素的编译过程。
    • 用来显示原始 Mustache 标签。可以用于显示原始数据,例如从服务器获取的未编译模板。
    • 例如:{{ this will not be compiled }}

一、v-text指令

v-text指令:
1.作用:向其所在的节点中渲染文本内容。
2.与插值语法的区别:v-text会替换掉节点中的内容,{{xx}}则不会。

<head><meta charset="UTF-8" /><title>v-text指令</title><!-- 引入Vue --><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!-- 准备好一个容器--><div id="root"><div>你好,{{name}}</div><!-- v-text会替换div标签里的内容 --><div v-text="name">你好,阿里</div><div v-text="str">你好,腾讯</div></div>
</body>
<script type="text/javascript">Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。//创建实例const vm = new Vue({el:'#root',data:{name:'vue学院',str:'<h3>你好啊!</h3>'}})
</script>

二、v-html指令

v-html指令:
1.作用:向指定节点中渲染包含html结构的内容。

2.与插值语法的区别:
(1).v-html会替换掉节点中所有的内容,{{xx}}则不会。
(2).v-html可以识别html结构。

<head><meta charset="UTF-8" /><title>v-html指令</title><!-- 引入Vue --><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!-- 准备好一个容器--><div id="root"><div>你好,{{name}}</div><div v-html="str"></div><div v-html="str2"></div></div>
</body>
<script type="text/javascript">Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。//创建实例const vm = new Vue({el:'#root',data:{name:'百度',str:'<h3>你好啊!</h3>',str2:'<a onclick="event.preventDefault()" href=javascript:location.href="http://www.baidu.com">百度网址</a>',}})
</script>

三、v-cloak指令

场景:当 Vue 实例初始化较慢(如网络延迟或数据加载时间长)时,页面会短暂显示未编译的 {{}} 插值表达式,造成视觉干扰。
效果:页面加载时隐藏未编译内容,Vue 完成编译后自动显示渲染结果,自动删除v-cloak属性。

<head><meta charset="UTF-8" /><title>v-text指令</title><!-- 引入Vue --><script type="text/javascript" src="../js/vue.js"></script><style>[v-cloak] {display: none;}</style></head><body>
<!-- 使用v-cloak --><div id="root" v-cloak><p>{{ content }}</p></div>
</body><!-- 模拟延迟加载 Vue.js -->
<script>Vue.config.productionTip = false; //阻止 vue 在启动时生成生产提示setTimeout(() => {		new Vue({el: "#root",data() {return{content: "hello vue" } },});}, 2000); // 延迟 2 秒模拟网络延迟
</script>

四、v-once指令

v-once指令:
1.v-once所在节点在初次动态渲染后,就视为静态内容了。
2.以后数据的改变不会引起v-once所在结构的更新,可以用于优化性能。

<head><meta charset="UTF-8" /><title>v-once指令</title><!-- 引入Vue --><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!-- 准备好一个容器--><div id="root"><h2 v-once>初始化的n值是:{{n}}</h2><h2>当前的n值是:{{n}}</h2><button @click="n++">点我n+1</button></div>
</body>
<script type="text/javascript">Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。//创建实例const vm =new Vue({el:'#root',data:{n:1}})
</script>

五、v-pre指令

v-pre指令:
1.跳过其所在节点的编译过程。
2.可利用它跳过:没有使用指令语法、没有使用插值语法的节点,会加快编译。

<head><meta charset="UTF-8" /><title>v-pre指令</title><!-- 引入Vue --><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><!-- 准备好一个容器--><div id="root"><h2 v-pre>Vue其实很简单</h2><h2 >当前的n值是:{{n}}</h2><button @click="n++">点我n+1</button></div>
</body>
<script type="text/javascript">Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。//创建实例new Vue({el:'#root',data:{n:1}})
</script>

六、其他指令

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>其他常用指令</title><!-- 引入Vue --><script type="text/javascript" src="../js/vue.js"></script>
</head>
<body><div id="root"><h2>v-bind指令</h2><div :id="prop">{{name}}</div><h2>v-model指令</h2>姓名:<input type="text" v-model="name"><h2>v-on指令</h2><button @click="func">点我</button><h2>v-for指令</h2><ul><li v-for="(item,index) in arr" :key="index">{{item}}-{{index}}</li></ul><h2>v-show指令</h2><p v-show="isShown">Visible only if isShown is truthy.</p></div>
</body>
<script>Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。// 创建实例const vm = new Vue({el:'#root',data(){return{name:'hello vue',prop:"mydiv",arr:["张三","李四","王五"],isShown:true}},methods: {func(){alert("v-vlick")}},})</script>

相关文章:

Vue学习教程-14内置指令

文章目录 前言一、v-text指令二、v-html指令三、v-cloak指令四、v-once指令五、v-pre指令六、其他指令 前言 Vue.js 提供了许多内置指令&#xff08;Directives&#xff09;&#xff0c;这些指令用于在模板中添加特殊功能。内置指令以 v- 前缀开始。 v-text : 更新元素的 tex…...

【蓝桥杯单片机】客观题

一、第十三届省赛&#xff08;一&#xff09; 二、第十三届省赛&#xff08;二&#xff09;...

C++ 设计模式-访问者模式

C++访问者模式 一、模式痛点:当if-else成为维护噩梦 开发动物园管理系统,最初的需求很简单: class Animal {}; class Cat : public Animal {}; class Dog : public Animal {};// 处理动物叫声 void makeSound(Animal* a) {if (auto c = dynamic_cast<Cat*>(a)) {st…...

靶场之路-Kioptix Level-1 mod_ssl 缓冲区溢出漏洞

声明 学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章笔记的只是方便各位师傅学习知识,以下网站涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 一、准备工作 首先使用 vmware 导入靶机文件&#xff0c; 然后网络模式改成 nat 模式即可 我们打…...

【Viewer.js】vue3封装图片查看器

效果图 需求 点击图片放大可关闭放大的 图片 下载 cnpm in viewerjs状态管理方法 stores/imgSeeStore.js import { defineStore } from pinia export const imgSeeStore defineStore(imgSeeStore, {state: () > ({showImgSee: false,ImgUrl: ,}),getters: {},actions: {…...

stm32mp采用spi接口扩展can

在 STM32MP 系列微处理器中,通过 SPI 转 CAN 功能扩展 CAN 接口需要结合硬件设计(如使用 SPI 接口的 CAN 控制器芯片)和 Linux 驱动配置。以下是详细的实现步骤和关键点: 硬件选型与连接 常用 SPI 转 CAN 芯片MCP2515:经典 SPI 转 CAN 控制器,支持 CAN 2.0B。MCP2517FD:…...

forge-1.21.x模组开发(二)给物品添加功能

功能效果 创建一个兑换券&#xff0c;当使用兑换券对着兑换机右键时&#xff0c;获得一条烤鱼 创建兑换券 创建ExchangeCouponsItem.java&#xff0c;继承Item&#xff0c;定义兑换券内容 public class ExchangeCouponsItem extends Item {public ExchangeCouponsItem(Prop…...

创建第一个 Maven 项目(一)

一、引言 在 Java 开发的广袤天地中&#xff0c;Maven 宛如一位全能的管家&#xff0c;发挥着举足轻重的作用。它是一个基于项目对象模型&#xff08;POM&#xff09;的项目管理和构建自动化工具&#xff0c;极大地简化了 Java 项目的开发流程。 Maven 的核心优势之一在于其强…...

网络运维学习笔记 022 HCIA-Datacom新增知识点03园区网典型组网架构及案例实战

园区网典型组网架构及案例实战 园区网&#xff1a;内部运行了园区网协议的一个主体网络 园区网络典型架构 园区网络常用协议与技术&#xff1a; 接入层&#xff1a; VLAN、生成树、链路聚合、AAA、dhcp-snooping等 汇聚层&#xff1a;DHCP、堆叠、链路聚合、生成树、OSPF、静…...

python-leetcode-二叉树的直径

543. 二叉树的直径 - 力扣&#xff08;LeetCode&#xff09; # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solutio…...

ubuntu中打包与压缩命令详解

Ubuntu 中打包与压缩命令详解 在 Ubuntu 系统中&#xff0c;打包和压缩文件是常见的操作。通过打包和压缩&#xff0c;可以将多个文件或目录合并为一个文件&#xff0c;并减小文件大小以节省存储空间或方便传输。本文将详细介绍 Ubuntu 中常用的打包与压缩命令及其用法。 目录…...

Linux MySQL 8.0.29 忽略表名大小写配置

Linux MySQL 8.0.29 忽略表名大小写配置 问题背景解决方案遇到的问题&#xff1a; 问题背景 突然发现有个大写的表报不存在。 在Windows上&#xff0c;MySQL是默认支持忽略大小写的。 这个时候你要查询一下是不是没有配置&#xff1a; SHOW VARIABLES LIKE lower_case_table…...

【c++】【线程池】线程池模式

【c】【线程池】线程池模式 1 L/F领导者与跟随者模式 概述&#xff1a;在此模式中&#xff0c;线程池中的线程分为&#xff1a;领导者&#xff08;Leader&#xff09;&#xff0c;跟随者&#xff08;Follower&#xff09;和工作者&#xff08;Processor&#xff09; 领导者线…...

Next.js 学习-1

Next.js学习 引用&#xff1a;https://www.nextjs.cn/learn/basics/create-nextjs-app 先试试水吧&#xff0c;正好dify用的这个构建的前端项目。 使用 如果您尚未安装 Node.js&#xff0c;请 从此处安装。要求 Node.js 10.13 或更高版本。 好吧得用新的了&#xff0c;记得…...

bat命令在b站下载单个音视频

文章目录 单个音频第一行代码第二行代码下载后效果图 单个视频第一行代码第二行代码第三行代码第四行代码第五行代码下载后效果图 单个音视频第一行代码第二行代码第三行代码第四行代码第五行代码第六行代码下载后的效果图 单个音频 chcp 65001 you-get -o D:\Files\pydownloa…...

函数中的形参和实参(吐槽)

def greet_user(user_name):print(f"Hello,{user_name.title()}!")greet_user("zhangsan") 在以上函数中&#xff0c;user_name是形参&#xff0c; 在greet_user("zhangsan")中&#xff0c;值“zhangsan”是实参。这本身没什么大问题。 但是这…...

运维Ansible面试题及参考答案

目录 简述 Ansible 的工作原理,它是如何实现对远程主机管理的? Ansible 是基于什么语言开发的?这门语言的特性对 Ansible 的功能实现有哪些帮助? 解释 Agentless 在 Ansible 中的含义,与基于 Agent 的自动化工具相比,优势体现在哪? Ansible 中的 Inventory 文件是什…...

3、优先级翻转问题

FreeRTOS优先级翻转是当高优先级任务因等待低优先级任务占用的资源&#xff08;如互斥锁&#xff09;被阻塞&#xff0c;而中优先级任务趁机执行&#xff0c;导致高优先级任务无法及时运行的调度异常。 场景示例&#xff1a; 任务优先级&#xff1a;存在三个任务&#xff0c;优…...

python 进程池的基本使用

Python 进程池&#xff1a;Pool任务调度实现 在现代计算机系统重&#xff0c;处理器核心数量的增加为并行计算提供了强大的硬件基础。Python的 multiprocessing 模块中的进程池&#xff08;Pool&#xff09;机制&#xff0c;为开发者提供了 一个高效且易用的并行处理框架。 通…...

从零开始学 Rust:基本概念——变量、数据类型、函数、控制流

文章目录 Variables and MutabilityShadowing Data TypesScalar TypesCompound Types FunctionsFunction Parameters CommentsControl FlowRepetition with Loops Variables and Mutability fn main() {let mut x 5;println!("The value of x is: {}", x);x 6;pri…...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...