vue如何实现绑定
数据绑定基础
Vue.js 的核心特性之一是数据绑定,允许将数据动态渲染到 DOM 上。双向绑定通过 v-model 实现,而单向绑定通过插值表达式 {{ }} 或指令如 v-bind 完成。
单向数据绑定
使用插值表达式 {{ }} 可以直接将数据渲染到模板中:
<div>{{ message }}</div>
数据更新时,视图自动同步。
通过 v-bind 指令绑定属性:
<img v-bind:src="imageSrc" alt="Vue Logo">
简写形式为 ::
<img :src="imageSrc" alt="Vue Logo">
双向数据绑定
v-model 指令在表单元素上实现双向绑定:
<input v-model="inputText" placeholder="Edit me">
<p>Message is: {{ inputText }}</p>
修改输入框内容会同步更新 inputText,反之亦然。
计算属性与侦听器
计算属性 (computed) 基于依赖缓存结果:
computed: {
reversedMessage() {
return this.message.split('').reverse().join('');
}
}
模板中直接使用:
<p>Reversed: {{ reversedMessage }}</p>
侦听器 (watch) 监听数据变化执行逻辑:
watch: {
message(newVal, oldVal) {
console.log(`Message changed from ${oldVal} to ${newVal}`);
}
}
条件与列表绑定
v-if 和 v-for 实现条件渲染和列表渲染:
<div v-if="showElement">This is visible</div>
<ul>
<li v-for="item in items" :key="item.id">{{ item.text }}</li>
</ul>
事件绑定
v-on 指令监听 DOM 事件:
<button v-on:click="handleClick">Click me</button>
简写形式为 @:
<button @click="handleClick">Click me</button>
样式与类绑定
动态绑定 class 和 style:
<div :class="{ active: isActive }"></div>
<div :style="{ color: textColor }"></div>
自定义组件绑定
父子组件通过 props 和 $emit 通信:
<child-component :propValue="parentData" @custom-event="handleEvent"></child-component>
高级绑定技巧
使用 .sync 修饰符简化双向绑定:
<child-component :title.sync="pageTitle"></child-component>
v-model 在组件上的扩展:

model: {
prop: 'checked',
event: 'change'
}






