当前位置: 首页 > 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;数学不等式证明中的思维跃迁 数学证明的本质&#xff0c;往往不在于繁琐的计算&#xff0c;而在于找到那条隐藏的逻辑捷径。当我们面对一个复杂的不等式证明时&#xff0c;常常会陷入盲目求导或机械变形的困境。而“端点效应”这一看…...

K8s调度器踩坑记:明明内存还剩7G,为啥说我Insufficient memory?一个配置项引发的‘血案’

K8s调度器内存分配迷思&#xff1a;当剩余7G内存遭遇"Insufficient memory"错误 凌晨三点&#xff0c;当告警铃声第17次响起时&#xff0c;我盯着监控面板上那刺眼的红色错误提示陷入了沉思——集群明明显示7G空闲内存&#xff0c;为什么调度器坚持认为没有足够资源部…...

老系统别大意:手把手复现JBoss CVE-2015-7501反序列化漏洞(附Docker靶场搭建)

老系统安全警钟&#xff1a;实战复现JBoss反序列化漏洞与防御思考 老旧系统就像企业网络中的"定时炸弹"&#xff0c;看似平静却暗藏危机。2015年曝光的JBoss反序列化漏洞&#xff08;CVE-2015-7501&#xff09;至今仍在不少企业的内网系统中存在&#xff0c;成为攻击…...

大模型Agent算法面试60问

本文深入探讨了ReAct框架中Action执行失败时&#xff0c;Observation Prompt对后续Reasoning步骤的梯度影响路径。通过详细分析梯度反向传播机制&#xff0c;揭示了Prompt构造在维持策略稳定性和避免灾难性遗忘中的关键作用&#xff0c;为优化智能体决策逻辑提供了理论依据。推…...

2026年4月21日60秒读懂世界:阅读与手机时间、汽车价格战、脑机接口临床提速,今天最值得关注的6个信号

&#x1f525;个人主页&#xff1a;杨利杰YJlio❄️个人专栏&#xff1a;《Sysinternals实战教程》《Windows PowerShell 实战》《WINDOWS教程》《IOS教程》《微信助手》《锤子助手》 《Python》 《Kali Linux》 《那些年未解决的Windows疑难杂症》&#x1f31f; 让复杂的事情更…...

Qwen3-0.6B-FP8基础教程:理解Safetensors权重格式与FP8_E4M3特性

Qwen3-0.6B-FP8基础教程&#xff1a;理解Safetensors权重格式与FP8_E4M3特性 1. 引言&#xff1a;为什么你需要了解权重格式和量化 如果你刚开始接触大模型部署&#xff0c;可能会被各种技术术语搞得一头雾水。权重格式、量化、FP8、Safetensors……这些词听起来很专业&#…...

部署本地AI大模型--ollma

下载链接&#xff1a; 1.官网&#xff1a;在Windows上下载《Ollama 2.github&#xff1a;Release v0.21.0 ollama/ollama 前言&#xff1a;为什么选择 Ollama Ollama 是一款专为本地运行大模型打造的开源工具&#xff0c;它把复杂的环境配置、依赖管理和模型量化过程都封装…...

保姆级教程:在Linux(Ubuntu 20.04)上搞定Java 11 + JavaFX 11的完整配置流程

从零开始&#xff1a;Ubuntu 20.04下Java 11与JavaFX 11开发环境深度配置指南 在Linux系统上进行Java桌面应用开发&#xff0c;环境配置往往是新手面临的第一个挑战。不同于Windows或macOS的一键安装体验&#xff0c;Ubuntu上的JavaFX开发需要开发者对模块化系统、环境变量和依…...

手把手教你玩转English-Corpora.org:从查词频到挖冷门搭配的完整指南

手把手教你玩转English-Corpora.org&#xff1a;从查词频到挖冷门搭配的完整指南 当你在写作中纠结"significant"和"crucial"哪个更学术&#xff0c;或是想找出"break the ice"的地道变体时&#xff0c;英语语料库就是你的秘密武器。不同于传统…...

Java 25虚拟线程在Spring Boot 3.4中落地全链路实践(从ThreadLocal兼容到Project Loom监控闭环)

第一章&#xff1a;Java 25虚拟线程与Spring Boot 3.4高并发演进全景Java 25正式将虚拟线程&#xff08;Virtual Threads&#xff09;从预览特性转为标准特性&#xff0c;标志着JVM在轻量级并发模型上的重大突破。Spring Boot 3.4全面适配Java 25&#xff0c;并默认启用虚拟线程…...