web前端vue实现插值文本和输出原始html
程序员文章站
2022-03-21 15:13:36
vue.js 使用了基于 html 的模板语法,允许开发者声明式地将 dom 绑定至底层 vue 实例的数据。所有 vue.js 的模板都是合法的 html ,所以能被遵循...
vue.js 使用了基于 html 的模板语法,允许开发者声明式地将 dom 绑定至底层 vue 实例的数据。所有 vue.js 的模板都是合法的 html ,所以能被遵循规范的浏览器和 html 解析器解析。
在vue里最常见的数据绑定是使用“mustache”语法 (双大括号) 的文本插值:
<span>message: {{ value }}</span> // 插值文本
无论何时,绑定的数据对象上 value 属性发生了改变,页面上都会响应的做出重新渲染。
或者有时候只是想更新一次,不想每次都更新数据了页面也重新渲染,可以通过 v-once指令也能实现一次性的更新:
<span v-once>这个将不会改变: {{ value }}</span> // value的值改变了一次后,第二次改变时就不会再重新渲染页面
有时候你插入的不是单单一个文本时,比如一个富文本的值时,它包含了各种文本值和各种原始的html的标签,要完整的显示到页面上,就得使用v-html的指令:
<template> <div v-html="htmlvalue"></div> // 调用显示富文本,将会按照原始的html显示 </template> <script> export default { data(){ return{ htmlvalue: '<span style="color:red;">the should be red</span>' // 比如:这是一个富文本的值 } } } </script>
注意:你的站点上动态渲染的任意 html 可能会非常危险,因为它很容易导致xss 攻击。请只对可信内容使用 html 插值, 绝不要 对用户提供的内容使用插值。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Nuxt.js踩坑总结分享