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

简介: 一、Vue之-基本的代码结构和插值表达式、v-cloak二、Vue指令之 v-text三、Vue指令之 v-html

讲解v-cloakv-textv-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菜单下设置 OnlineSlow 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这个位置。

相关文章
|
11月前
|
JavaScript
Vue 渲染内容 v-text 与 v-html
Vue 渲染内容 v-text 与 v-html
|
11月前
|
JavaScript
vue快速入门(三) 之 v-text v-html
vue快速入门(三) 之 v-text v-html
04-Vue之本地应用v-text/v-html指令
04-Vue之本地应用v-text/v-html指令
|
JavaScript 开发者
讲解 v-cloak、v-text、v-html 的基本使用|学习笔记
快速学习讲解 v-cloak、v-text、v-html 的基本使用
114 0
讲解 v-cloak、v-text、v-html 的基本使用|学习笔记
|
JavaScript 开发者
讲解v-cloak、v-text、v-html的基本使用|学习笔记
快速学习讲解v-cloak、v-text、v-html的基本使用
96 0
讲解v-cloak、v-text、v-html的基本使用|学习笔记
|
JavaScript
vue再读12-指令v-text和v-html
vue再读12-指令v-text和v-html
63 0
vue再读12-指令v-text和v-html
|
JavaScript 前端开发
v-text和v-html
v-text和v-html
146 0
|
1天前
|
JavaScript 前端开发 Java
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(二)
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(二)