<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>模板语法</title>
<script src="../node_modules/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<!--数据绑定:使用双括号Mustache语法进行文本插值-->
<!--指令 (Directives) 是带有 v- 前缀的特殊特性-->
<!--使用v-once指令,数据不再更新,其子元素的数据也不再更新-->
<span v-once>{{a}}
<span>{{c + 1}}</span>
</span>
<span>{{a}}</span>
<!--使用v-html指令,将数据输出成html文本,容易导致 XSS 攻击。
请只对可信内容使用 HTML 插值,绝不要对用户提供的内容使用插值。-->
<span v-html="msg"></span>
<!--使用v-bind指令,绑定HTML特性-->
<button v-bind:disabled="true">Button</button>
<button :disabled="true">Button</button>
<!--v-on 指令,它用于监听 DOM 事件-->
<button v-on:click="clickButton">click</button>
<button @click="clickButton">click</button>
<!--用方括号括起的变量表示指令动态参数-->
<button :[attr]="true">click</button>
</div>
<script>
let data = {
a: 3,
c: 0,
obj: {
name: 'Lily',
},
msg: '<h1>hello</h1>',
attr: 'disabled',
};
let vm = new Vue({ //创建Vue实例
el: '#app',
data,
methods: {
clickButton: function () {
alert('click button');
}
}
});
vm.a = 5;
vm.c = 9;
</script>
</body>
</html>