Vue中常用基础标签

2023-10-31

创建一个Vue实例

    var vm = new Vue(){  
        el:'#app',  
        data:{},  
        methods:{}  }

在html中完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="../vue.js"></script>
</head>
<body>
    <div id="app"></div>
    <script>
    var vm = new Vue({
        el:'#app',
        data:{},

        methods:{}
    })
    </script>
</body>
</html>

常用标签用法:v-cloak、v-html、v-bind、v-on

差值表达式和v-cloak

{{}} (差值表达式):

    <div id="app">
        <p>{{msg}}</p>
    </div>

js代码 :

var vm = new Vue({
     el:'#app',
     data:{
         msg:"Hello world!"
     },
     methods:{}
})

使用v-cloak:

    <div id="app">
        <p v-cloak>{{msg}}</p>
    </div>

区别:v-cloak会屏蔽

标签中的{{msg}},解决文本闪烁问题。ps:{{}}前后可以自定义文本,且在使用v-claok后

​ 和msg一起显示

测试方法:将vue.js在DOM之后导入,使用live server打开页面,将network调至slow 3G,会发现差值表达式方 法的页面会先显示{{msg}}再显示"Hello world!"。

v-html和v-text

v-html:可以识别msg文本中的DOM标签。

v-text:识别纯文本,且只识别msg中的文本,

标签中的文本不会被识别

v-html

   <div id="app">
        <p v-html="msg"></p>
    </div>
var vm = new Vue({
     el:'#app',
     data:{
         msg:"<h2>你好,我在测试v-html的作用</h2>"
     },
     methods:{}
})

1707092-20190917190351651-1610338501.png

v-text

<div id="app">
        <p v-html="msg">1111111</p>
    </div>
var vm = new Vue({
     el:'#app',
     data:{
         msg:"<h2>你好,我在测试v-html的作用</h2>"
     },
})

1707092-20190917190357994-469809788.png

v-bind

可以绑定属性,可以直接简写为冒号‘:’。下面例子将title属性绑定在mytitle上

<div id="app">
    <!--可直接将v-blind:简写为“:”  -->
        <input type="button" value="按钮" v-bind:title="mytitle" >
    </div>
var vm = new Vue({
     el:'#app',
     data:{
         mytitle:"这是一个button"
     },

})

1707092-20190917190145092-498478543.png

v-on

给DOM绑定事件。

<div id="app">
    <!--可直接将v-on:简写为“@”  -->
        <input type="button" value="按钮" v-on:click="show">
</div>
var vm = new Vue({
     el:'#app',
     data:{},
     methods: {
                show: function () {
                    alert("Hello!");
                }
            },
})

v-model

实现表单元素和model间的双向绑定,但是v-model只能在表单中使用(ps:v-bind只能实现数据的单向绑定)

 <div id="app">
        <h1>{{msg}}</h1>
        <!-- v-model 能够实现表单元素和model间的双向绑定,但是v-model只能在表单中使用 -->
        <input type="text"  style="width:100%" v-model="msg"> 
    </div>
 var vm = new Vue({
        el:'#app',
        data:{
            msg:"我是爱学习、爱生活的好学生!"
        },
        methods:{}
    })

在text文本框中输入会改变h1标签的文本,即msg的值通过v-model绑定到了text的输入框上了。
1707092-20190917200009774-1815160386.png

v-if和v-show

v-if特点:每次都会重新创建和删除dom元素 。
v-show特点: 每次不会创建和删除,但改变display的属性。

<div id="app">
        <input type="button" value="toggle" @click="toggle">
        <!-- v-if特点:每次都会重新创建和删除dom元素 -->
        <!-- v-show: 每次不会创建和删除,但改变display的属性-->
        <h1 v-if="flag">这是v-if的h1</h1>
        <h1 v-show="flag">这是v-show的h1</h1>
    </div>
  var vm = new Vue({
            el:'#app',
            data:{
                flag:true
            },
            methods:{
                toggle(){
                    this.flag = !this.flag;
                }
            }
        })

1707092-20190917200939880-132161659.png
点击按钮,两个h1都不会在页面显示,使用v-if的dom元素被删除,v-show的dom元素的display属性为none。

v-for

创建一个公用的js文件:

var vm = new Vue({
            el:'#app',           
            data:{
                list:[1,2,3,4,5,6,7,8],
                list2:[
                    {id:1,name:'zs1'},
                    {id:2,name:'zs2'},
                    {id:3,name:'zs3'},
                    {id:4,name:'zs4'},                 
                ],
                user1:{
                    id : 1,
                    name:"托尼史塔克",
                    sex:"男"
                }
            },
            methods:{}
        })

1.普通循环

 <p v-for = "(item,i) in list">---索引值---{{i}}---数值---{{item}}</p>

2.复杂函数 遍历对象数组

 <p v-for = "(user,i) in list2">ID:{{user.id}}---名字:{{user.name}}---索引:{{i}}</p>

3.便利对象

<p v-for="(val,key,index) in user1">值是:{{val}}---键是:{{key}}--索引{{index}}</p>

4.迭代数字

ps:使用v-for迭代数字,第一个数字从1开始。

<p v-for="(val,key,index) in user1">值是:{{val}}---键是:{{key}}--索引{{index}}</p>

转载于:https://www.cnblogs.com/ericstefan/p/11536207.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue中常用基础标签 的相关文章

随机推荐

  • mac电脑安装paste教程以及重新安装软件后不能使用解决方法

    问题背景 mac电脑安装paste教程以及重新安装软件后不能使用解决方法 mac电脑安装paste失败 安装好后还是无法使用 paste显示还是历史粘贴信息 导致无法使用 新 copy的内容也无法进入历史粘贴版里面 笔者电脑配置信息 Mac
  • PostgreSQL 锁表

    PostgreSQL 锁表解决 解决 一 碰到的问题 Navicat删除表是一直转圈 出现问题的原因 短时间多次对同一张表进行查询造成表死锁 解决思路 通过查询进程把锁住的pid查出来然后解锁 1 查询正在运行的进程 datname为数据库
  • sqlserver连接字符串_10分钟使用EF Core连接MSSQL数据库

    给DotNet加星标 提升 Net技能 转自 Ron liang cnblogs com viter p 10243577 html 前言 在 NET Core 2 2中Microsoft AspNetCore App 默认内置了Entit
  • 【UE】读写配置文件 ue读写ini文件

    UE读写ini文件 前言 1 新建C 文件 2 编写代码 2 1 头文件h文件 2 2 cpp文件 3 函数说明 3 1 写入ini 3 2 读取ini 4 打包后读取ini数据 4 1 打开Editor时的Game ini 4 2 打包后
  • 快速成长的秘诀|学会自我培养和培养他人

    快速成长总共三篇 分别是 完成自我认知升级 自我成长好方法 和 自我培养和培养他人 本篇是第三篇 篇幅较长 针对长文的阅读方式 依旧建议在 完成自我认知升级 中提到的阅读方式 在一个不被打扰的时间做好只字不差阅读 用批判性思维思考和理解其中
  • 银行从业中级系列课程之——内容概述

    课程初衷 由于在体制内工作 银行从业已经成了内部要求 本人连续两年重在参与了 终于决定为了奖励的400元战斗一下 同时提升下个人的银行从业水平 课程简介 本课程根据2021年课程大纲进行汇总 同时结合了233网校的课程内容进行了编写 力求能
  • linux编译mesa,编译安装 Mesa (OpenGL)

    最近因为工作需要 想看一下 OpenGL 的东西 就在笔记本上搭建了 OpenGL 的环境 解压后 运行 configure 根据提示安装必要的包 编译 安装 我安装到了 usr local private 下面 usr local pri
  • 佳威线管分级说明

    次次底级 keb sl刹车 次底 cgx sl刹车 lex sl变速 底级 无润滑 cex刹车 lex变速
  • Spark Task的各个动作时间来源以及Task Schedule Delay 问题排查

    背景 发现线上偶尔会出现一些Spark Task会显示Schedule Delay数分钟甚至十几分钟 所以要排查原因 Task 时间分析以及Schedule Delay计算公式 如图所示 时间轴上面的表示Driver 记录到的各个时间 时间
  • 结构体与共用体(联合体)

    参考 结构体与共用体 作者 一只青木呀 发布时间 2020 08 09 08 29 22 网址 https blog csdn net weixin 45309916 article details 107889394 参考 联合体 uni
  • 多线程下载

    原理 服务器cpu分配给每条线程的时间片是相同的 服务器带宽平均分配给每个线程 所以客户端开启的线程越多就能抢占到更多的服务器资源 用java实现 public class NultiDownload static String path
  • MySQL多表关系及多表查询

    多表关系 在关系型数据库中存在着三种多表关系 分别是一对多 多对一 多对多以及一对一 之所以会产生这些关系 是因为在进行数据设计的时候 分析得出业务之间存在着一定的关系 进而在数据中也就存在了这些关系 一对多 一对多是最基础的表间关系 意思
  • 给大家推荐一门比较适合用来学习流量分析技术的公开课(内附课程b站链接)

    最近看到同事在看一门课程 是CSNA出的一套免费对外公开课 跟着看了一下觉得不错 分享给大家 CSNA是国内比较老牌且低调的网络技术分析认证培训了 在网络运维和网络安全方向上还是有口皆碑的 课程内容比较体系化 有理论也有实操 涵盖了业务性能
  • php面试题猴子123报数(猴子选大王)

    题目就是有N个猴子 123循环报数数到3的猴子被踢出下一个接着报数 一遍一遍的循环直到剩余一个猴子 求这个猴子是最开始的第几号猴子 我想到了两个方法 第一个就是模拟报数的模式 每到3的时候unset一个元素 最后剩余的就是 要求的猴子 代码
  • windows如何关闭IIS (因为占用80端口而无法启动nginx)

    一 场景概述 正在写一个Web项目但是每次输入都需要加上端口号 所以想用服务器代理一下端口 让可以直接用nginx来解决这个问题但是 nginx异常无法打开 结果发现80端口被异常占用 因为windows的IIS也占用80端口号 比如win
  • 电脑命令教程计算机基础知识,电脑常用运行命令图文教程(DOS命令)

    本文介绍一些常用的运行窗口命令 也是DOS命令 同时所有的命令均在win7旗舰版测试通过 并附有运行后的图片 运行命令窗口如下 工具 原料 电脑一台 本文以win7系统的电脑为例 方法 步骤 1 调出运行命令窗口 按快捷键 win R 或者
  • java|8.18总结|基本功能

    1 思维导图 2 用自己的话描述某知识点是什么 举例 总结 一句话总结 环境变量 理解 环境变量相当于提前封装好一个环境 功能 在此环境下 比如在有path环境下 可以直接执行java文件 不用先进入JAVA的目录才能运行java 如果需要
  • 使用Docker安装配置Jupyter并配置R语言与Python环境

    文章目录 Docker docker的安装 将当前用户添加到docker用户组 拉取一个镜像 创建配置目录 启动docker服务 登录jupyter容器 安装vim 更换源 JupyterNotebook 设置python 安装Jupyte
  • 【burpsuite安全练兵场-服务端6】信息泄露漏洞-5个实验(全)

    前言 介绍 博主 网络安全领域狂热爱好者 承诺在CSDN永久无偿分享文章 殊荣 CSDN网络安全领域优质创作者 2022年双十一业务安全保卫战 某厂第一名 某厂特邀数字业务安全研究员 edusrc高白帽 vulfocus 攻防世界等平台排名
  • Vue中常用基础标签

    创建一个Vue实例 var vm new Vue el app data methods 在html中完整代码