{{ 表达式 }} 输出文本(支持三元、运算、方法调用,不支持语句)"> {{ 表达式 }} 输出文本(支持三元、运算、方法调用,不支持语句)"> {{ 表达式 }} 输出文本(支持三元、运算、方法调用,不支持语句)">
Vue 词条目录
前端Wiki/Vue/基础/应用与模板语法

插值与指令

模板语法分两类:插值与指令。插值用双花括号 {{ 表达式 }} 输出文本(支持三元、运算、方法调用,不支持语句);指令是带 v- 前缀的特殊属性,告诉 Vue 对这个元素做特殊行为。

最常用的指令:v-bind(缩写 :)绑定属性、v-on(缩写 @)绑定事件、v-if/v-for 控制结构、v-model 双向绑定。指令的值是 JS 表达式,所以 :id="'item-' + n 这样的拼接是合法的。

  • {{ }} 文本插值:输出表达式结果,支持过滤写法但 Vue3 已移除 filter
  • v-bind/: 绑定属性;v-on/@ 绑定事件;两者都有缩写
  • 指令值是表达式:可以写三元、方法调用、字符串拼接
HTML
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>插值与指令</title>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head>
<body>
  <div id="app">
    <!-- 文本插值:支持表达式 -->
    <p>{{ msg }},反转:{{ msg.split('').reverse().join('') }}</p>
    <!-- v-bind 缩写为 : ,绑定属性 -->
    <a :href="url" :title="msg">链接</a>
    <!-- v-on 缩写为 @ ,绑定事件 -->
    <button @click="msg = '变了'">改文字</button>
    <!-- v-html 输出真实 HTML(注意只用于可信内容) -->
    <p v-html="raw"></p>
  </div>

<script>
  const { createApp } = Vue;
  createApp({
    data() {
      return { msg: '你好', url: 'https://cn.vuejs.org', raw: '<b>加粗文字</b>' };
    }
  }).mount('#app');
</script>
</body>
</html>
本节要点模板两大语法:{{ }} 插值文本,v- 指令驱动行为;: 与 @ 是最常用的两个缩写。
🔗 相关词条JavaScriptHTMLES6 模块