Vue 插值表达式是 Vue.js 中实现数据绑定最基础、最核心的语法,是连接 Vue 实例数据与视图模板的桥梁。它采用双大括号 {{ }} 语法,允许开发者将 Vue 实例中的数据、表达式计算结果直接渲染到 HTML 页面中,实现数据与视图的响应式联动,是 Vue 模板语法的基础组成部分。
插值表达式的核心作用是数据渲染。在 Vue 组件中,只要在 data 函数中定义了数据,就可以通过 {{数据名}} 直接在模板中调用。当 data 中的数据发生变化时,页面中插值表达式渲染的内容会自动更新,无需手动操作 DOM,这也是 Vue 响应式特性的直观体现。
插值表达式基本使用举例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>插值表达式</title>
<script src="https://unpkg.com/vue@3.5.17/dist/vue.global.js"></script>
</head>
<body>
<div id="root"></div>
</body>
<script>
Vue.createApp(
{
data() {
return {
message: '你好,我是插值表达式'
}
},
template: "<div>{{ message }}</div>"
}
).mount('#root')
</script>
</html>注意事项
插值表达式的使用场景十分灵活,不仅能渲染基础数据类型(字符串、数字、布尔值),还支持单行 JavaScript 表达式运算,包括算术运算({{ 10 + 20 }})、三元运算({{ isActive ? '启用' : '禁用' }})、字符串拼接、对象属性访问({{ user.name }})、数组索引取值({{ list[0] }})等。但需要注意,它仅支持单行表达式,不支持语句、流程控制(if/for)和多行代码。
同时,插值表达式有明确的使用规范:它只能用在 HTML 标签的内容区域,不能用于标签属性、指令绑定中;如果需要绑定 HTML 属性,需使用 v-bind 指令;另外,插值表达式会将数据以纯文本形式渲染,若需要渲染 HTML 内容,需使用 v-html 指令,避免 XSS 风险。
插值表支持单行JavaScript表达式举例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>插值表达式支持单行JavaScript表达式</title>
<script src="https://unpkg.com/vue@3.5.17/dist/vue.global.js"></script>
</head>
<body>
<div id="root"></div>
</body>
<script>
Vue.createApp(
{
data() {
return {
a: 10,
b: 20
}
},
template: "<div>计算结果: {{ a + b }}</div>"
}
).mount('#root')
</script>
</html>在实际开发中,插值表达式是 Vue 页面开发的基础语法,常用于展示静态文本、动态数据、简单计算结果等场景。它简化了传统 DOM 操作,让开发者专注于数据逻辑处理。