讲解v-cloak、v-text、v-html的基本使用|学习笔记

简介: 快速学习讲解v-cloak、v-text、v-html的基本使用

开发者学堂课程【Vue.js 入门与实战讲解v-cloak、v-text、v-html的基本使用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/586/detail/8129


讲解v-cloak、v-text、v-html的基本使用


目录:

一、Vue之-基本的代码结构和插值表达式、v-cloak

二、Vue指令之 v-text

三、Vue指令之 v-html

 

一、Vue之-基本的代码结构和插值表达式、v-cloak


使用 v-cloak 能够解决插值表达式闪烁的问题。

实例:

新建HTML文件:02.v-cloak的学习.html 编辑:

1  <!DOCTYPE html>
2  <htm1 lang="en">
3
4  <head>
5    <meta charset="UTF- 8">
6    <meta name= "viewport" content="width=device-width, initial-scale=1.0">
7    <meta http- equiv= "X -UA-Compatible" content=" ie=edge ">
8    <title>Document</ title>
9   </head>
10  
11  <body>
12    <div id=" app">
13      <p>{{ msg }}</p>
14    </div>
15
16    
17    <script src="./1ib/vue-2.4.0. js"></script>
18
19  <script>
20     var Vm = newVue({
21       el: ' #app' ,
22       data: {
23         msg: '123 '
24       }
25     })
26   </script>
27  </body>
28 
29  </htm1>

 

以服务器进行文件托管的方式打开localhost/02.v-cloak的学习.html文件,看结果显示:123。

如果网速很慢,那么</ script>标签请求速度也会很慢。在Network菜单下设置 Online为Slow 3G的网速,刷新浏览器,可以看到:{{ msg }}一直在请求vue-2.4.0js  /lib 文件,一直有闪烁。inject.js被请求出来后,结果才显示为123。

怎么才能让结果看不见插值表达式呢?

这就需要在上述程序加一个[V- cloak]属性,创建一个钥匙

<v-cloak>。修改上程序段为:

9   <style>
10   [v- cloak ]{
11      display: none ; 
12   }
13   </style>
14 </head>
15
16  <body>
17    <div id=" app">
18      <p  v-cloak>{{ msg }}</p>
19    </div>
20 
21
22   <script src=". /1ib/vue-2.4.0. js"></ script>
……

刷新,这时候就可以看见vue-2.4.0js  /lib 请求出来,但结果还是空白没出来,这时候是[v-cloak]将 {display: none;}这个类隐藏了。当inject.js请求回来后,就直接显示结果123。这时候没有闪烁。使用 v-cloak 能够解决插值表达式闪烁的问题。

 

二、Vue指令之"v-text"


"v-text"和"v-cloak"一样也能渲染内容,两者区别是:

1.默认"v-text"是没有闪烁问题的。

实例:

……
<p  v-cloak>{{ msg }}</p>
<h4 v-text="msg"></h4>
……

2."v-text"会覆盖元素中原本的内容,但是 插值表达式 只会替换自己的这个占位符,不会把整个元素的内容清空。

实例:

……
<P v-cloak>++++++++ {{ msg }} ---------</p>
<h4 v-text= "msg">===============</h4>
……

刷新浏览器,显示结果:

++++++++ 123 ---------

123

插值表达式前后可以放置任意内容。

 

三、Vue指令之"v-html"


"v-html"和"v-text"一样,也会覆盖元素中原本的内容。但"v-html"会将内容作为html类型解析。

实例:

设置一个内容:

msg2: '<h1>哈哈 ,我是一个大大的H1 ,我大,我骄傲</h1>'

将msg2渲染到div,用产品表达式:

<div>({msg2)}</div>

或  <div v-text= "msg2"></ div>

这时,这个值仅为普通文本。要怎样渲染为html文本呢?

这就要用到"v-html"了。

<div v-html= "msg2 "></ div>

 

程序代码为:

……
<div> { {msg2} }</div>
<div v- text= "msg2">< /div>
<div v-html="msg2 ">1212112< /div>
</div>
<script src="。/1ib/vue-2.4.0. js"></ script>
<script>
var vm = new Vue({
el: '#app' ,
data: {
msg: '123' ,
msg2: '<h1>哈哈 ,我是一个大大的H1, 我大, 我骄傲</h1>'
}
   })
</ script>
< /body>
……

浏览器刷新结果为:

++++++++ 123  ---------

123

<h1>哈哈,我是一个大大的H1,我大,我骄傲</h1>

<h1>哈哈,我是一个大大的H1,我大,我骄傲</h1>


image.png

本章节学习了三个指令"v-cloak"、"v-text"、"v-html"和一个插值表达式"msg"。"v-cloak"解决插值表达式闪烁问题的;"v-text"会把元素中的内容覆盖;"v-html"也会覆盖元素中的内容,但是它会把内容当做html的插值放到msg这个位置。

相关文章
|
2月前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
28 0
webgl学习笔记3_javascript的HTML DOM
|
2月前
|
Web App开发
某教程学习笔记(一):04、HTML基础
某教程学习笔记(一):04、HTML基础
22 0
|
11月前
|
前端开发 UED 容器
|
11月前
|
前端开发
[HTML]HTML学习笔记(四)
[HTML]HTML学习笔记(四)
|
11月前
|
移动开发 前端开发 JavaScript
|
10月前
|
前端开发 JavaScript 算法
网络结构与HTML学习笔记
网络结构与HTML学习笔记
163 0
网络结构与HTML学习笔记
|
11月前
|
移动开发 JavaScript 前端开发
[HTML CSS JS ES6 JS WebAPI JQuery]学习笔记目录
[HTML CSS JS ES6 JS WebAPI JQuery]学习笔记目录
|
10月前
HTML学习笔记(二)
HTML学习笔记(二)
32 0
|
10月前
HTML学习笔记(一)
HTML学习笔记
37 0