{…">

当前位置:首页 > VUE

vue实现文本插值

2026-02-21 14:42:12VUE

Vue 文本插值基础

Vue 中使用双大括号 {{ }} 进行文本插值,将数据绑定到 DOM 元素中。插值内容会自动响应数据变化。

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

插值中使用 JavaScript 表达式

Vue 的文本插值支持简单的 JavaScript 表达式,但不支持语句或流程控制。

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

原始 HTML 插值

使用 v-html 指令可以输出原始 HTML,而不是转义后的文本。

vue实现文本插值

<div id="app">
  <p v-html="rawHtml"></p>
</div>
new Vue({
  el: '#app',
  data: {
    rawHtml: '<span style="color: red">Red Text</span>'
  }
})

属性绑定插值

在 HTML 属性中使用插值,需要使用 v-bind 指令或简写 :

<div id="app">
  <div v-bind:id="dynamicId"></div>
  <button :disabled="isDisabled">Button</button>
</div>

计算属性插值

对于复杂逻辑,可以使用计算属性进行插值。

vue实现文本插值

<div id="app">
  <p>{{ reversedMessage }}</p>
</div>
new Vue({
  el: '#app',
  data: {
    message: 'Hello'
  },
  computed: {
    reversedMessage: function() {
      return this.message.split('').reverse().join('')
    }
  }
})

方法插值

可以在插值中调用方法,但不推荐频繁调用方法,应优先使用计算属性。

<div id="app">
  <p>{{ reverseMessage() }}</p>
</div>
new Vue({
  el: '#app',
  data: {
    message: 'Hello'
  },
  methods: {
    reverseMessage: function() {
      return this.message.split('').reverse().join('')
    }
  }
})

插值修饰符

Vue 提供了一些插值修饰符来改变插值行为。

<div id="app">
  <!-- 只绑定一次,不响应变化 -->
  <p v-once>{{ message }}</p>

  <!-- 防止 XSS 攻击 -->
  <p v-text="message"></p>
</div>

插值中的过滤器

Vue 2.x 支持过滤器,Vue 3 中已移除,可用方法或计算属性替代。

<!-- Vue 2.x -->
<div id="app">
  <p>{{ message | capitalize }}</p>
</div>
// Vue 2.x
new Vue({
  el: '#app',
  data: {
    message: 'hello'
  },
  filters: {
    capitalize: function(value) {
      return value.charAt(0).toUpperCase() + value.slice(1)
    }
  }
})

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

相关文章

vue实现文本选取

vue实现文本选取

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

vue实现文本截断

vue实现文本截断

文本截断的实现方法 在Vue中实现文本截断可以通过多种方式完成,以下是几种常见的方法: CSS方法 使用CSS的text-overflow属性可以简单实现文本截断效果: <div class…

vue实现文本滚动

vue实现文本滚动

实现文本滚动的几种方法 使用CSS动画 通过CSS的@keyframes和transform属性实现横向或纵向滚动效果。适用于简单的单行文本滚动。 <template> <di…

vue如何实现复制文本

vue如何实现复制文本

使用 document.execCommand 方法(传统方式) 在 Vue 中可以通过调用原生的 document.execCommand 方法实现复制文本功能。创建一个方法,动态创建一个 text…

react如何获取标签内的文本

react如何获取标签内的文本

获取标签内文本的方法 在React中获取标签内的文本可以通过多种方式实现,具体取决于使用场景和需求。 使用ref获取DOM元素文本 通过React的useRef钩子可以获取DOM元素的引用,从而访问…

js实现文本编辑器

js实现文本编辑器

实现基础文本编辑器 使用HTML的contenteditable属性快速创建一个可编辑区域,结合JavaScript监听用户输入和操作。以下是一个简单实现: <div id="editor"…