Vue模板语法插值原始HTML(v-html指令)Mustache语法
Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
如果你已经是有经验的前端开发者,想知道 Vue 与其它库/框架有哪些区别,请查看对比其它框架。
以下代码是保存至一个index.html的文档(文件后缀名是.html)中,并非是.vue的文件,当今后学会了一些更vue复杂的应用的时候,比如CLI创建了更复杂的vue应用,并支持单文件组件,那在项目下创建的文件可能就是以.vue为后缀的文件。
双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html 指令:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue模板语法插值原始HTML(v-html指令)Mustache语法</title>
<script src="vue.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="app">
<!--
双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html 指令
-->
<span>这里会输出HTML标签: {{ sitename }}</span>
<p>这里不会输出HTML标签: <span v-html="sitename"></span>,而是在span标签下插入了真正的HTML b 标签</p>
<!--
这个 span 的内容将会被替换成为 property 值 sitename,直接作为 HTML——会忽略解析 property 值中的数据绑定。
注意,你不能使用 v-html 来复合局部模板,因为 Vue 不是基于字符串的模板引擎。
反之,对于用户界面 (UI),组件更适合作为可重用和可组合的基本单位。
你的站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击。
请只对可信内容使用 HTML 插值,绝不要对用户提供的内容使用插值。
-->
</div>
<!--
这里会输出HTML标签: <b style="color:red;">编程之吧</b>
这里不会输出HTML标签: 编程之吧,而是在span标签下插入了真正的HTML b 标签
-->
<script type="text/javascript">
var vm = new Vue({
el: '#app',
data: {
message: 'Hello Vue!',
sitename: '<b style="color:red;">编程之吧</b>',
}
});
vm.message = '福星之吧'//重新给data属性message 赋值,有v-once 指令的标签中属性值将不会被改变,其值还是data 中message的值
</script>
</body>
</html>
转载注明:
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
还没有人发表评论