您现在的位置是:群英 > 开发技术 > web开发
vue模板的插值操作包括哪些,是怎样的
Admin发表于 2022-11-19 17:50:31406 次浏览
这篇文章分享给大家的内容是关于vue模板的插值操作包括哪些,是怎样的,本文介绍得很详细,内容有一定的参考价值,能帮助大家进一步学习和理解“vue模板的插值操作包括哪些,是怎样的”,有这方面学习需要的朋友可以看看,接下来就让小编带领大家一起来学习一下吧。


模板语法的插值操作

  • v-html 往标签内部插入html文本

  • v-text 往标签内部插入普通文本(解析不了标签)

  • v-pre 在界面上直接展示胡子语法

  • v-cloak 隐藏数据渲染到页面之前,胡子语法在界面上的展示

Mustache

mustache语法就是两个大括号"{ {}}" ,mastache语法不仅直接可以写值,也可以写一些简单的表达式。

<body>
<div id="app" >
    <h1>{{counter * 2}}</h1>
    <h1>{{message}} kebe</h1>
    <h1>{{message + ' ' + firstName + ' ' + lastName}}</h1>
    <h1>{{message}}{{firstName}}{{lastName}}</h1>
    <h1>{{message}} {{firstName}} {{lastName}}</h1>
</div>
<script src="./js/vue.js"></script>
<script>
    const app = new Vue({
        el: "#app", //用户挂载要管理的元素 
        data:{ //定义数据
            counter: 100,
            message: '你好!',
            firstName: 'kebe',
            lastName: 'bryant'
        }
    })

</script>
</body>
登录后复制

v-once

作用为定义它的元素或者组件只会渲染一次,在修改变量中的值时,页面的值并不发生改变。

<div id="app" >
    <h1>未加v-once指令:{{message}}</h1>
    <h1 v-once >加v-once指令:{{message}}</h1>
</div>
<script src="./js/vue.js"></script>
<script>
    const app = new Vue({
        el: "#app", //用户挂载要管理的元素 
        data:{ //定义数据
            message: '你好!'
        }
    })

</script>
登录后复制

效果图:

v-html

v-html指令会将后端返回的数据以html代码的方式插入,而不是文本方式插入。

<div id="app" >
    <h1>{{url}}</h1>
    <h1 v-html="url" ></h1>
</div>
<script src="./js/vue.js"></script>
<script>
    const app = new Vue({
        el: "#app", //用户挂载要管理的元素 
        data:{ //定义数据
            url: '<a href="http://www.baidu.com">百度一下</a>'
        }
    })
</script>
登录后复制

效果图:

v-text

将输入以文本的方式插入标签中,与mustache相似,但是该指令不常使用,原因在于v-text无法进行字符串拼接。

<div id="app" >
    <h1>{{message}},kebe</h1>
    <h1 v-text="message">kebe</h1>
</div>
<script src="./js/vue.js"></script>
<script>
    const app = new Vue({
        el: "#app", //用户挂载要管理的元素 
        data:{ //定义数据
            message: '你好!'
        }
    })
</script>
登录后复制

效果图:

v-pre

该指令会告诉vue将标签中的表达式/文本不要解析,原封不动的展示出来,例如写mustache语法时,vue会将变量的值解析出来插入标签中,那如果我要将mustache语法以文档的方式显示在页面呢?答案就是用v-pre。

<body>
<div id="app" >
    <h1>{{message}}</h1>
    <h1 v-pre >{{message}}</h1>
</div>
<script src="./js/vue.js"></script>
<script>
    const app = new Vue({
        el: "#app", //用户挂载要管理的元素 
        data:{ //定义数据
            message: '你好!'
        }
    })
</script>
</body>
登录后复制

效果图:

v-cloak

在浏览器渲染html时,如果vue请求后端网络延时,数据无法及时返回并赋值于变量,那么浏览器无法显示变量的值,就会将mustache语法当作文本显示在页面中。v-cloak指令在vue进行解析时,会把它去掉,也就是说我们可以先使用v-cloak属性将标签隐藏起来,在vue解析时,自动去掉v-cloak,标签就会显示出来,这时标签中包含的变量是有值的。因此不会出现因网络延迟造成直接显示表达式的问题,从而提高用户体验。然而,这个指令后续也不常用,因为在实际开发中,vue页面的模板会被渲染成函数,真正使用的其实是虚拟DOM,因此不会存在这种情况。

<body>
    <style>
        /* 将有带有v-cloak属性的标签隐藏起来  */
        [v-cloak]{
            display: none;
        }
    </style>
    <div id="app" >
        <h1>{{message}}</h1>
        <h1 v-cloak >{{message}}</h1>
    </div>
<script src="./js/vue.js"></script>
<script>
    //延时1秒,模拟网络超时,数据无法及时插入
    setTimeout(function(){
        //vue解析时去掉v-cloak属性,标签显示
        const app = new Vue({
        el: "#app", //用户挂载要管理的元素 
        data:{ //定义数据
            message: '你好!'
        }
        })
    },1000)
</script>
</body>
登录后复制

效果图:

没有加v-cloak属性的标签,在延时时直接显示表达式

加v-cloak属性的标签会隐藏掉


有v-cloak的标签,当vue解析时去掉v-cloak,标签显示,值显示

没有v-cloak的标签,vue解析时,给表达式赋值,显示的表达式变为具体的值



到此这篇关于“vue模板的插值操作包括哪些,是怎样的”的文章就介绍到这了,感谢各位的阅读,更多相关vue模板的插值操作包括哪些,是怎样的内容,欢迎关注群英网络资讯频道,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: vue模板插值
相关信息推荐
2022-01-20 19:45:14 
摘要:用PHP怎样生成不重复的10位会员编码?很多场景中都会遇到将一个庞大的数据进行编号,例如证件号码、车牌号、订单流水号等等,这里以实现10位不重复的会员编码为了,给大家分享一下这个功能要如何来实现。
2021-12-02 17:45:03 
摘要:这篇文章给大家分享的是Python中的内置高阶函数的内容。Python中的内置高阶函数有 map()、reduce() 函数、reduce() 函数和 sorted() 函数,那么这些函数怎样使用呢?文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
2022-09-28 17:57:23 
摘要:网站管理员登录成功后跳转到网站后台,vip用户登录成功后跳转到vip页面,跳转功能怎么实现的呢,下面小编给大家带来了Laravel实现登录跳转功能,需要的朋友可以参考下
云活动
推荐内容
热门关键词
热门信息
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部