模板语法
- 文本绑定,两个大括号,中间加上data里面的数据,message里面不仅可以是变量还可以是表达式
<body>
<div id="main">
// 变量
{
{ message }}
<br/>
// 表达式
{
{ number + 1}}
</div>
</body>
<script>
const vm = new Vue({
el: '#main',
data: {
message: 'Welcome to Chivalrous Island!',
number: 7
},
})
</script>
- JS表达式(计算、拼接、只能是单个表达式)
- 插入HTML代码(慎用!防止XSS攻击 ),我们可以直接在data里面定义html代码,但是它存在一个安全隐患,比如我们将下面的
dangerHTMl: "<span>0085</span>"
这句代码改变一下dangerHTML: "<span onclick='alert(0085)'>0085</span>"
,这时候的当我们点击时它执行了它里面的一个代码会弹出一个框,这是很危险的。像很多个XSS攻击就是用的这种方法,所以对于v-html我们还是要慎用。
<div v-html="dangerHTMl"></div>
data: {
...
dangerHTMl: "<span>0085</span>"
}
- 绑定,把data里面的数据绑定到元素的属性上,最常见的就是id
<div v-bind:id="id" v-html="dangerHTML"></div>
data: {
...
id: 'oldId'
}
![v2-89f4fdcd39d72af72b1d0702ad4b1044_b.jpg](http://img-01.proxy.5ce.com/view/image?&type=2&guid=d03bfc33-4b2e-eb11-8da9-e4434bdf6706&url=https://pic1.zhimg.com/v2-89f4fdcd39d72af72b1d0702ad4b1044_b.jpg)
当data里面的数据改变时,它的Id也会随之改变。