{{ message }}
当前位置:首页 > VUE

vue实现文本插值

2026-01-20 23:03:09VUE

文本插值的基本语法

在Vue中,文本插值通过双大括号{{ }}实现,将数据绑定到DOM元素中。例如:

<div id="app">
  {{ message }}
</div>
new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
})

渲染结果为<div>Hello Vue!</div>

插值表达式支持JavaScript

双大括号内可以编写简单的JavaScript表达式:

<div>{{ number + 1 }}</div>
<div>{{ ok ? 'YES' : 'NO' }}</div>
<div>{{ message.split('').reverse().join('') }}</div>

注意:只能包含单表达式,不能是语句或流程控制。

使用v-text指令替代插值

v-text指令会替换元素的整个内容:

<span v-text="message"></span>

等同于<span>{{ message }}</span>,但会避免未编译前的模板闪现问题。

原始HTML插值

双大括号会将数据解释为纯文本。输出HTML需使用v-html指令:

<div v-html="rawHtml"></div>

注意:动态渲染HTML可能导致XSS攻击,仅对可信内容使用。

属性插值

双大括号不能在HTML属性中使用,需通过v-bind指令:

<div v-bind:id="dynamicId"></div>

对于布尔属性,值为nullundefinedfalse时该属性不会被渲染。

插值修饰符

Vue提供修饰符改变插值行为:

  • .once:一次性插值,数据变化不更新
    <span v-once>{{ message }}</span>
  • .pre:保留原始空白符
    <div v-pre>{{ 这里不会被编译 }}</div>

动态参数插值

从2.6.0开始支持动态参数:

<a v-bind:[attributeName]="url">Link</a>

attributeName会作为JavaScript表达式动态求值。

过滤器(Vue 2.x)

Vue 2支持自定义过滤器处理文本:

vue实现文本插值

<div>{{ message | capitalize }}</div>
filters: {
  capitalize: function (value) {
    if (!value) return ''
    return value.charAt(0).toUpperCase() + value.slice(1)
  }
}

Vue 3已移除过滤器,推荐使用方法或计算属性替代。

标签: 文本插值
分享给朋友:

相关文章

vue实现文本选取

vue实现文本选取

文本选取的基本实现 使用Vue实现文本选取功能可以通过结合原生JavaScript的Selection API完成。以下是一个基础示例,通过指令或方法监听文本选择事件: <template&g…

js实现富文本编辑器

js实现富文本编辑器

使用 contenteditable 属性实现基础富文本编辑器 通过 HTML 的 contenteditable 属性可以让元素变为可编辑状态,这是实现富文本编辑器的基础。 <div i…

jquery富文本编辑器

jquery富文本编辑器

jQuery富文本编辑器推荐与使用 TinyMCE TinyMCE是一个流行的开源富文本编辑器,支持插件扩展和主题定制。可通过CDN或npm安装,适合集成到jQuery项目中。 <scri…

vue实现按钮改变文本

vue实现按钮改变文本

实现按钮改变文本的方法 在Vue中,可以通过数据绑定和事件处理实现按钮点击改变文本的功能。以下是几种常见实现方式: 使用v-on和v-text指令 <template> <…

css文本制作

css文本制作

使用CSS制作文本样式 通过CSS可以控制文本的字体、颜色、大小、对齐方式等属性。以下是一些常见的文本样式设置方法。 设置字体和大小 p { font-family: Arial, sans-…

php实现富文本

php实现富文本

富文本编辑器的实现方法 在PHP中实现富文本编辑器通常需要结合前端库和后端处理。以下是几种常见的方法: 使用现成的富文本编辑器库 前端可以使用成熟的富文本编辑器库,如CKEditor、TinyMCE…