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>
相关推荐
mONESY1 小时前
React useState 核心原理与最佳实践:从异步更新到性能优化全解
javascript
腻害兔1 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
gis开发之家2 小时前
《Vue3 从入门到大神37篇》Vue3 源码详解(七):watch 与 watchEffect 源码对比——副作用是如何被追踪的?
javascript·前端框架·vue3·vue3源码
bloglin999993 小时前
langchain 和 langgraph 和 react
javascript·react.js·langchain
触底反弹3 小时前
🚀 删了数据刷新又回来?3 组件 × 4 回调 × 3 坑讲透 React 父子通信
前端·javascript·react.js
会周易的程序员5 小时前
js-shm: 高性能 Node.js 共享内存模块
开发语言·javascript·c++·node.js·共享内存·shm
带娃的IT创业者6 小时前
重新定义前端构建速度:深度解析 SWC 如何用 Rust 颠覆 JavaScript 工具链
前端·javascript·rust·前端构建·swc
m0_547486666 小时前
《Vue.js + uni-app全栈开发从入门到实践 》全套PPT课件2026版
vue.js·uni-app
新中地GIS开发老师7 小时前
零基础WebGIS开发入门 | GeoJSON数据持久化
前端·javascript·gis·webgis·三维gis开发
blns_yxl7 小时前
正则驱动实时表单验证(HTML+CSS+JS+正则)
javascript·css·html