[TOC]
概要
- VUE模板语法
- 文本
- 原始HTML
- 条件渲染
- v-if
- v-else-if
- v-else
- 列表渲染
- 事件处理
- 表单输入绑定
1、VUE模板语法
a、文本
<!-- 文本 --> <p>我是:{{ name }}</p> <script> export default { data() { return { name: "deepsea", }; }, }; </script>
b、原始HTML
双大括号会将数据解释为普通文本,而非html代码。为了输出真正的html,需要使用v-html指令: ```vue
<a name="WmZVs"></a>
## 2、条件渲染
`v-if`指令用于条件性的渲染一块内容,这块内容只会在指令的表达式返回true的时候被渲染
```vue
<p v-if="age >= 24">可以结婚</p>
也可以用v-else
添加一个 else块:
<p v-if="age >= 24">可以结婚</p>
<p v-else>不能结婚</p>
3、列表渲染
用v-for
指令基于一个数组来渲染一个列表。v-for
指令需要使用 item in items
形式的特殊语法,其中的items
是源数据数组,而item
则是被迭代的数组元素的别名。
<div>
<ul>
<li v-for="(item, index) in names" :key="index" @click="clickItemHandle(item)">
{{ item }}
</li>
</ul>
</div>
<script>
export default {
data() {
return {
names: ["张三", "李四", "王五"]
};
},
};
</script>
4、事件处理
可以用v-on
指令监听dom事件,并在触发时运行一些JS代码。
<!-- 事件处理 -->
<div>
<!-- <button v-on:click="clickhandle()">按钮</button> -->
<button @click="clickhandle">按钮</button>
</div>
<script>
export default {
data() {
return {
name: "1",
alink: "<a href='https://www.baidu.com'>百度</a>",
age: 60,
names: ["张三", "李四", "王五"],
msg: "",
};
},
methods: {
clickhandle() {
this.names.push("赵六");
},
clickItemHandle(name) {
console.log(name);
},
},
};
5、表单输入绑定
用v-model指令在表单元素上创建双向数据绑定。
<!-- 表单输入绑定 -->
<div>
<input type="text" v-model="msg" />
<p>{{ msg }}</p>
</div>
<script>
export default {
data() {
return {
name: "1",
alink: "<a href='https://www.baidu.com'>百度</a>",
age: 60,
names: ["张三", "李四", "王五"],
msg: "",
};
},
methods: {
clickhandle() {
this.names.push("赵六");
},
clickItemHandle(name) {
console.log(name);
},
},
};
</script>