Vue3 指令学习笔记
1. v-model 指令
v-model 指令用于实现双向数据绑定,通过将表单元素的值与组件内的数据属性进行双向绑定。当用户在表单元素中输入时,组件内的数据也会跟着变化,反之亦然。
示例
htmlCopy Code<template>
<div>
<label>姓名:</label>
<input type="text" v-model="name" />
<p>您的姓名是:{{ name }}</p>
</div>
</template>
<script>
export default {
data() {
return {
name: ''
}
}
}
</script>
2. v-bind 指令
v-bind 指令可以动态地绑定一个或多个 HTML 特性,例如 id、class、style 等等。它可以接受一个 JavaScript 表达式作为参数,用于计算绑定结果。
示例
htmlCopy Code<template>
<div :class="classObj">
<p v-bind:title="message">鼠标悬停此处以查看提示信息</p>
</div>
</template>
<script>
export default {
data() {
return {
message: '这是一个提示信息',
classObj: {
'red-text': true,
'bold-text': false
}
}
}
}
</script>
3. v-if 和 v-show 指令
v-if 和 v-show 指令都用于控制元素的显示与隐藏,它们之间的区别在于,v-if 是动态地切换元素的存在与否,而 v-show 则只是通过修改 CSS 属性来控制元素是否可见。
示例
htmlCopy Code<template>
<div>
<button @click="toggle">切换</button>
<p v-if="show">{{ message }}</p>
<p v-show="show">{{ message }}</p>
</div>
</template>
<script>
export default {
data() {
return {
show: true,
message: '这是一段文字'
}
},
methods: {
toggle() {
this.show = !this.show
}
}
}
</script>
4. v-for 指令
v-for 指令用于循环渲染列表数据,它可以接受一个数组或对象作为参数,并遍历其中的每一项来渲染对应的视图内容。在遍历过程中,v-for 指令还可以提供当前项的索引值、键名等信息,以便处理更加复杂的逻辑需求。
示例
htmlCopy Code<template>
<ul>
<li v-for="(item, index) in list" :key="index">{{ item }}</li>
</ul>
</template>
<script>
export default {
data() {
return {
list: ['苹果', '香蕉', '橘子']
}
}
}
</script>