vue 模板语法

Vue 使用一种基于 HTML 的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。所有的 Vue 模板都是语法层面合法的 HTML,可以被符合规范的浏览器和 HTML解析器解析。

文本插值

最基本的数据绑定形式是文本插值,它使用的是"Mustache"语法(即双大括号):

html 复制代码
<template>
<div>
  <p>{{ msg }}</p>
</div>
</template>

<script>
export default{
  data(){
    return{
      msg:"hello world"
    }
  }
}
</script>
<style>
p{
  color: red;
  font-size: 30px;
}
</style>

使用JS表达式

每个绑定仅支持单一表达式,也就是一段能够被求值的 JavaScript 代码。一个简单的判断方法是是否可以合法地写在 retumrn 后面。

html 复制代码
<template>
<div>
  <p>{{ msg }}</p>
  <p>{{ num+1 }}</p>
  <p>{{ flag ? "yes" : "no" }}</p>
  <p>{{ text.split("").reverse().join("") }}</p>
</div>
</template>

<script>
export default{
  data(){
    return{
      msg:"hello world",
      num:1,
      flag:true,
      text:"界世好你"
    }
  }
}
</script>
<style>
p{
  color: red;
  font-size: 30px;
}
</style>

原始HTML

双大括号将会将数据插值为纯文本,而不是 HTML。若想插入 HTML,你需要使用

v-html 指令。

html 复制代码
<template>
<div>
  <p><span v-html="rawHtml"></span></p>
</div>
</template>

<script>
export default{
  data(){
    return{
      rawHtml:"<a href='#'>链接</a>"
    }
  }
}
</script>
<style>
p{
  font-size: 30px;
}
</style>
相关推荐
anOnion1 天前
构建无障碍组件之Menu Button pattern
前端·html·交互设计
用户47949283569151 天前
claude Fable用不了?把Gpt 5.5pro接到你的claude code里
前端·后端
JieE2121 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
冬奇Lab1 天前
AI Workflow 定义的四次演进:从 Markdown 到 JS 脚本,再到分布式多 Agent
javascript·人工智能·agent
zhangxingchao1 天前
Kotlin常用的Flow 操作符整理
前端
IT_陈寒1 天前
React的useState居然还有这种坑?我差点删库跑路
前端·人工智能·后端
Pedantic1 天前
SwiftUI 手势笔记
前端·后端
橙子家1 天前
浏览器缓存之【结构化数据库与缓存】: IndexedDB、Cache storage 和 Storage buckets
前端
user20585561518131 天前
X6 中边悬浮置顶,规避 `mouseleave` 事件丢失问题
前端
李明卫杭州1 天前
CSS aspect-ratio 属性完全指南
前端