# vue模板语法 ( v-text 和 {{}} 区别)

<header class="post-header" style="display: block; color: rgb(85, 85, 85); font-family: Lato, "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">

vue模板语法

</header>

插值

文本

1.“Mustache”语法插值:

html:

<div id="app">
    <p>{{ msg }}</p>
</div>

js:

new Vue({
    el: '#app',
    data: {
        msg: 'Hello Vue.js'
    }
});

2.v-text指令
html

<div id="app">
    <p v-text="msg"></p>
</div>

js:

new Vue({
    el: '#app',
    data: {
        msg: 'Hello Vue.js'
    }
});

3.v-cloak指令
html:

<div id="app">
    <p v-cloak>{{ msg }}</p>
</div>

js:

new Vue({
    el: '#app',
    data: {
        msg: 'Hello Vue.js'
    }
});

解析HTML

v-html指令
使用“Mustache”语法和v-text指令,会对数据原格式输出,即使数据为html标签,也会照样显示标签本身,不会进行解析,要让html解析,则需要使用v-html指令。
html:

<div id="app">
    <p v-html="msg"></p>
</div>

js:

new Vue({
    el: '#app',
    data: {
        msg: '<b>Hello Vue.js</b>'
    }
});

绑定属性

绑定属性使用v-bind指令,比如你绑定class
html:

<div v-bind:class="className"></div>

这样的话,data中的className的值就绑定到class中,需要注意的是,如果该值为转换为boolean的结果为false,则该属性会被移除,通过这种方式可以来控制div的显示或者隐藏等。可惜转换为boolean的值有false,0,0.0,"",[],{}。
如果你觉得使用v-bind:觉得麻烦,可以使用缩写形式:来代替v-bind:,上述代码缩写为:

<div :class="className"></div>

对比

对于以上4中方式,v-html只是为了渲染html标签。v-bind用来绑定属性。而v-text和“Mustache”语法都能渲染普通文本数据,有一点区别就是,在渲染的数据比较多的时候,可能会把“Mustache”语法的大括号显示出来,为了解决这种问题,可以采用以下两种方式:①使用v-text渲染数据②使用“Mustache”语法渲染数据,但是同时使用v-cloak指令,在css中,使用:
css:

[v-cloak]: {
    display: none;
}

这样的话,就不会显示“Mustache”的大括号。而且,他们的区别,还没有完,不然我们直接用v-text不就行了,还有一点区别是,v-text渲染数据的时候,是渲染全部的数据,也就是说不能渲染局部的数据,如下代码:

html:

<div id="app">
    <p v-text="msg"></p>
</div>

js:

new Vue({
    el: '#app',
    data: {
        msg: 'Hello Vue.js'
    }
});

v-text会把msg的数据全部渲染出来,而往往,后台返回的数据,不是全部的内容,比如以下代码:
html:

<div id="app">
    <p v-text="msg">苹果的价格为</p>
</div>

js:

new Vue({
    el: '#app',
    data: {
        msg: 5
    }
});

我们显示苹果价格的时候,往往后台存储的只是一个价格,用v-text就无法渲染,所以只能用“Mustache”语法,如下:
html:

<div id="app">
    <p>苹果的价格为{{ msg }}元</p>
</div>

js:

new Vue({
    el: '#app',
    data: {
        msg: 5
    }
});

为了防止网络慢等原因,在数据返回之前,可能显示的结果为:苹果的价格为{{ msg }}元,为了解决这种问题,我们添加v-cloak指令和css代码:
html:

<div id="app">
    <p v-cloak>苹果的价格为{{ msg }}元</p>
</div>

[v-cloak]: {
    display: none;
}

总而言之就是一句话,解析html标签用v-html指令;绑定属性使用v-bind指令;渲染大片数据用v-text或者“Mustache”语法配置v-cloak指令和css的display: none;;渲染大片数据中的局部用“Mustache”语法,配合v-cloak指令和css。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,044评论 0 29
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,198评论 0 6
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 10,986评论 4 129
  • 爱 来的漫不经心,最初只是一点喜欢 分开的时候,却是两份悲伤 时间久了 守着一种习惯 像喝水,像吃饭 心跳变得一样...
    Skr啊阅读 394评论 0 1
  • 医院对于我来说,并不陌生,在我出生以来,我的大半时间都在医院里,我有第一次记忆时,就是在医院里,那白色的大褂包裹着...
    然一阅读 392评论 0 1