Vue 模板语法
Vue.js 的模板语法允许你声明式地将 DOM 绑定到 Vue 实例的数据上。所有 Vue 模板都是声明性的,这使得它们易于编写和理解。下面是 Vue 模板语法的一些基本特性:
插值表达式({{ }})
插值语法使用双大括号 {{ }} 将数据绑定到 HTML 中。文本内容会被 Vue 实例的数据替换。
<div id="app">
<p>{{ message }}</p>
</div>在上面的例子中,{{ message }} 将会被 Vue 实例中 message 数据的值替换。
指令 (v-):
指令带有特殊前缀 v-,用于在元素上应用特定的行为。Vue 提供了一些内置指令,如 v-bind、v-model、v-on 等。
v-bind:动态地绑定一个或多个属性。
<div v-bind:class="{ active: isActive }"></div>这里的 class 根据 isActive 的值来决定是否添加 active 类。
v-if 和 v-else:条件性地渲染元素。
<div v-if="isVisible"> Visible Content </div> <div v-else> Not Visible </div>
v-for:基于源数据多次渲染元素或模板块。
<ul>
<li v-for="item in items" :key="item.id">
{{ item.text }}
</li>
</ul>v-on 或 @:绑定事件监听器,以响应用户操作。
<button @click="handleClick">Click me</button>
v-model:在表单元素上创建双向数据绑定。
<input v-model="message">
计算属性和监听器
Vue.js 允许你在模板中使用计算属性和侦听器:
计算属性:通过计算属性可以在模板中放置简单的 JavaScript 表达式,Vue 会根据依赖进行缓存。
computed: {
reversedMessage() {
return this.message.split('').reverse().join('');
}
}侦听器 (watch): 用于在数据变化时执行异步操作
watch: {
message(newValue, oldValue) {
console.log('message changed:', newValue, oldValue);
}
}生命周期钩子
Vue 实例有一些生命周期钩子,可以在实例化过程中添加自定义逻辑。常用的有 created、mounted、updated 和 destroyed。
new Vue({
el: '#app',
data: {
message: 'Hello, Vue!'
},
created() {
console.log('Vue instance created');
},
mounted() {
console.log('Vue instance mounted');
},
updated() {
console.log('Vue instance updated');
},
destroyed() {
console.log('Vue instance destroyed');
}
});Vue 的模板语法非常灵活,支持 JavaScript 的表达式、指令、条件和循环等特性,使得构建动态和响应式的用户界面变得简单而强大。