vue模版语法-{{}}/v-text/v-html/v-once

一、{{}}双括号:用于文本渲染

1、 {{变量名}}:data中返回对象的变量名

2、{{js表达式}}:可以直接进行js表达式处理

3、注意:双大括号中不要写等式书写

二、v-text 指令,用于文本渲染

1、为了解决双大括号渲染数据出现闪烁问题

三、v-cloak 指令:用于隐藏尚未完成编译的DOM模板

原理:先隐藏,编译完成后再显示

1、定义样式:将带有 v-cloak 指令的标签属性

2、在需要被解决闪烁问的元素加上v-cloak

四、v-html:用于输出真正的HTML内容(v-text 不管什么都当文本输出)

注意:v-html 遇到<script>标签和vue语法代码会被忽略,直接显示,防止xss攻击

五、v-once 一次性插值,当后面数据更新后,视图不会被更新

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        [v-cloak]{
            display:none;
        }
    </style>
</head>
<body>
    <!--
        一、{{}}双括号:用于文本渲染
        {{变量名}}:data中返回对象的变量名
        {{js表达式}}:可以直接进行js表达式处理
        注意:双大括号中不要写等式书写
        二、v-text 指令,用于文本渲染
        1、为了解决双大括号渲染数据出现闪烁问题
        三、v-cloak 指令:用于隐藏尚未完成编译的DOM模板
        原理:先隐藏,编译完成后再显示
        1、定义样式:将带有 v-cloak 指令的标签属性
        2、在需要被解决闪烁问的元素加上v-cloak
        四、v-html:用于输出真正的HTML内容(v-text 不管什么都当文本输出)
        注意:v-html 遇到<script>标签和vue语法代码会被忽略,直接显示,防止xss攻击
        五、v-once 一次性插值,当后面数据更新后,视图不会被更新
    -->
    <!-- 定义根节点-->
    <div id="app" v-cloak>
        <p>双括号渲染:{{name}},年龄:{{age-2}}</p>
        <p>js表达式:{{Math.abs(age)}}</p>
        <p>js表达式:{{age>0?'a':age}}</p>

        <!--v-text 文本渲染-->
        <h3>v-text 文本渲染</h3>
        <p v-text="name"></p>
        <p v-text="age+100"></p>
        <!--v-html -->
        <h3>v-html 渲染</h3>
        <p>v-text:<span v-text="htmlcontent"></span></p>
        <p>v-html:<span v-html="htmlcontent"></span ></p>
        <!--v-once 一次性插值 -->
        <h3>v-html 渲染</h3>
        <p v-once>这个值不会被改变:{{age}}<span>{{name}}</span></p>
    </div>
    <!--引入vue库-->
    <script src="./node_modules/vue/dist/vue.global.js"></script>
    <!--编写业务逻辑-->
    <script type="text/javascript">
        const {createApp} = Vue;
        const app=createApp({
            data(){
                return{
                    name:'helloworld',
                    age: -200,
                    htmlcontent:'<span style="color:red">哈哈哈哈<script>alert("aaaa")<\/script></span>'
                }
            }
        }).mount('#app');


    </script>
</body>
</html>
相关推荐
bmxy小明同学3 小时前
2026-10-11-幻觉治理
服务器·前端·javascript
m0_587383004 小时前
无人自助拼豆系统落地开发实战指南 核心逻辑实现与部署经验分享
前端·javascript·vue.js·人工智能·经验分享·需求分析
zhaiyy4 小时前
HTML Popover API 实践
前端·javascript·html
JingliAlex4 小时前
企业微信自动回复的话术怎么过审?三级审核流程的搭法
大数据·html·企业微信
OpsEye4 小时前
企业 AI 管理新需求:不仅要接入模型,还要看懂每一次调用
javascript·ai编程
牧艺4 小时前
SPA 也能像原生 App:View Transitions API 从原理到可上线实战
前端·javascript·css
Dovis(誓平步青云)4 小时前
现场问题先关闭还是先验收,建筑任务怎样处理依赖
前端·javascript·数据库·mysql·音视频
用户84298142418104 小时前
压缩 ≠ 加密:前端代码保护的三层实践与踩坑记录
前端·javascript
.Hypocritical.5 小时前
SpringBoot+Vue 前后端分离项目部署到云服务器
服务器·vue.js·spring boot
怕浪猫5 小时前
12个UI组件库,Star最低的下载最多
前端·javascript·面试