模板语法v-html
vue使用一种基于HTML的模板语法,使我们能够声明式的将其组件实例的数据绑定到呈现的DOM上,所有的vue模板都是语法层面的HTML,可以被符合规范的浏览器和HTML解释器解析。
一.文本插值
最基本的数据绑定形式是文本插值,它使用的是“Mustache”语法(即双大括号):
代码片段:
<template>
<div>{{ msg }}</div>
</template>
<script >
export default {
data() {
return {
msg: "Hello, Vue!"
}
}
}
</script>
运行结果:
二.使用JavaScript表达式
每一个绑定仅支持单一表达式,也就是一段能被求值的JavaScript的代码,一个简单的判断方法是是否可以合法的写在return
后面。
<template>
<p>{{number + 1}}</p>
<p>{{ok? 'YES' : 'NO'}}</p>
<!-- 字符串翻转 -->
<p>{{ Message.split('').reverse().join('') }}</p>
</template>
<script >
export default {
data() {
return {
number:10,
ok:true,
Message:'hello world'
}
}
}
</script>
运行结果:
无效情况,原因是不满足单一表达式
三.元素HTML
双大括号将会将数据插值为纯文本,而不是HTML,需要使用v-html
指令。
<template>
<p>纯文本:{{ rawHtml }}</p>
<p>属性:<span v-html="rawHtml"></span></p>
</template>
<script >
export default {
data() {
return {
rawHtml: '<span style="color: red">This is some <strong>raw HTML</strong></span>'
}
}
}
</script>
运行结果: