首页 > 其他分享 >Vue-----模板插值-----(v-once、v-html、v-bind使用)

Vue-----模板插值-----(v-once、v-html、v-bind使用)

时间:2023-09-04 12:22:25浏览次数:42  
标签:count Vue bind App HTML ----- 模板 once

1、v-once

  当组件在进行变量插值时只会插值一次。某些情况下,某些组件的渲染是由变量控制的,但是我们想让它一旦渲染后就不能够再被修改,可以是由v-once来实现

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
    <div id="Application" style="text-align: center;">
        <!-- 未渲染 -->
        <!-- <h1>这里是模板的内容:{{count}}次点击</h1> -->
        <!-- 渲染之后 -->
        <h1 v-once>这里是模板的内容:{{count}}次点击</h1>
        <button v-on:click="clickButton">按钮</button>
    </div>
    <script>
        const App={
            data() {
                return {
                    count:0
                }
            },
            methods:{
                clickButton(){
                    this.count=this.count+1
                }
         
            }
        }
        Vue.createApp(App).mount("#Application")
    </script>
</body>
</html>
v-once

 

2、v-html

  可以指定一个Vue变量数据,其会通过HTML解析的方式将原始HTML替换到其指定的标签位置

注:插入文本为一段HTML代码,直接使用使用双括号就不太好使了,会将其中的变量解析成纯文本。可以通过HTML解析的方式将原始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>
    <script src="https://unpkg.com/vue@next"></script>
</head>
<body>
    <div id="Application" style="text-align: center;">
          <!-- 未渲染 -->
        <!-- <h1 v-once>这里是模板的内容:{{countHTML}}次点击</h1> -->
          <!-- 渲染之后 -->
        <h1 v-once>这里是模板的内容:<span v-html="countHTML"></span>次点击</h1>
        <button v-on:click="clickButton">按钮</button>
    </div>
    <script>
        const App={
            data() {
                return {
                    countHTML:"<span style='color:red'>0</span>"
                }
            },
            methods:{
                clickButton(){
                    this.count=this.count+1
                }
         
            }
        }
        Vue.createApp(App).mount("#Application")
    </script>
</body>
</html>
v-html

 

3、v-bind

   可以动态的改变标签style的属性,从而实现元素渲染样式的修改

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://unpkg.com/vue@next"></script>
    <style>
        #h1{
            color:red
        }
    </style>
</head>
<body>
    <div id="Application" style="text-align: center;">
        <!-- 未渲染 -->
        <!-- <h1>这里是模板的内容:{{count}}次点击</h1> -->
        <!-- 渲染之后 -->
        <h1 v-bind:id="id1">这里是模板的内容:{{count}}次点击</h1>
        
        <button v-on:click="clickButton">按钮</button>
    </div>
    <script>
        const App={
            data() {
                return {
                    count:0,
                    id1:"h1"
                }
            },
            methods:{
                clickButton(){
                    this.count=this.count+1
                }
         
            }
        }
        Vue.createApp(App).mount("#Application")
    </script>
</body>
</html>
v-bind

 

标签:count,Vue,bind,App,HTML,-----,模板,once
From: https://www.cnblogs.com/lixianhui/p/17675682.html

相关文章

  • Vue element 表格跨行合并单元格
    1、定义table.js/***生成表格合并行坐标阵列rowspan、colspan信息*@param{表格数据}tableData*@param{合并列字段}mergeColumnsexample:["filed1",[filed2]]*@returns坐标阵列*/exportfunctiongetTableSpanMap(tableData,mergeColumns){varspa......
  • Mybatis-plus-join使用、mybatis连表
    publicinterfacePlanDayMapperextendsMPJBaseMapper<PwPlanDayPO>{}MPJLambdaWrapper<PwPlanDayPO>wrapper=MPJWrappers.lambdaJoin(PwPlanDayPO.class);wrapper.leftJoin(SysStaffPO.class,SysStaffPO::getStaffId,PwPlanDayPO::g......
  • 数据结构-树状数组
    新接触到的数据结构,根据百度百科:树状数组或二叉索引树(英语:Binary IndexedTree),又以其发明者命名为Fenwick树,最早由PeterM.Fenwick于1994年以ANewDataStructure for Cumulative Frequency Tables为题发表在SOFTWARE PRACTICE ANDEXPERIENCE。其初衷是解决数据压缩里......
  • Ziya-LLaMA-13B 模型在GPU 上部署
    Ziya-LLaMA-13B模型在GPU上部署Ziya-LLaMA-13B是IDEA-CCNL基于LLaMa的130亿参数的大规模预训练模型,具备翻译,编程,文本分类,信息抽取,摘要,文案生成,常识问答和数学计算等能力。目前姜子牙通用大模型已完成大规模预训练、多任务有监督微调和人类反馈学习三阶段的训练过程。1.部署准......
  • blender-1-基本快捷键
    https://www.bilibili.com/video/BV14u41147YH?p=3&vd_source=e3899eab0ab1c2da60e189bdce9ed666跟他学的shift+a新建基本模型R旋转模型G移动模型 xyz不同轴移动S缩放ALTshift+d移动并复制 长按调整单个调整我的鼠标有热键所以部分不太匹配  ......
  • 力扣——1 [两数之和](https://leetcode.cn/problems/two-sum/)
    给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例1:输入:nums=[2,7,11,15],tar......
  • golang编译go build -ldflags "-s -w"的 解释
    gobuild-ldflags"-s-w" 是一个Go语言的构建命令,其中使用了 -ldflags 参数来传递一些额外的链接器标志。这个命令中,-ldflags"-s-w" 传递了两个标志:-s:该标志会禁止生成可执行文件中的符号表信息,这样在执行文件时就不会暴露源代码中的函数名、变量名等符号信息。这有......
  • VUE 打开新页面方法记录
    1.使用VUERouter主要使用router的resolve方法进行路径及参数构造jumpPage(){letrouteData=this.$router.resolve({name:"newPage",query:{name:"zs"}})window.open(routeData.href,"_blank&qu......
  • 前端小白Step1-开发环境构建
    作为一名有着近10年后端开发经验的程序员,突然意识到要想清晰表达自己的想法和产品观念,但是完全不懂前端开发。。。Emoing,所以励志要能够做到用页面表达自己的想法和设计。2023.09.04开始打卡前端开发了。第一课调通前端开发环境目前主流的前端开发框架还是Vue、React和Angular。......
  • challenge1-MFQ
    #challenge1-MFQlab4环境调度部分的challenge:多级反馈队列(MFQ)调度算法chellenge原文:向内核添加一个不那么简单的调度策略,例如一个固定优先级的调度器,使每个环境都有一个优先级,确保优先选择优先级高的环境,而不是优先级低的环境。如果你喜欢冒险,可以尝试实现unix风格的可调......