Vue.js基本指令

2023-11-10

目录

插值表达式“{{}}”

v-html和v-text指令

例1

v-on指令 

例1

v-model指令

例1

v-if指令

例1:判断二月份有几天

例2:比较两个数的大小

v-show指令

v-if和v-show的区别

v-for 指令

遍历数组

遍历对象


插值表达式“{{}}”

数据绑定最常见的形式就是使用双大括号(Mustache语法)“{{}}”将动态绑定的数据实时显示出来

<div id="app">
    {{msg}}<br>
    {{5+5}}<br>
    {{ ok ? 'YES' : 'NO' }}<br>
    {{ msg.split('').reverse().join(',') }}
</div>
    
<script>
new Vue({
  el: '#app',
  data: {
    ok: true,
    msg: 'asdfSF',
  }
})
</script>

v-html和v-text指令

v-html指令用于输出html代码

v-text指令主要用来更新textContent,将示例中的数据当作纯文本输出

例1

<div id="app">
    <div v-html="msg"></div>
    <div v-text="msg"></div>
</div>
    
<script>
new Vue({
  el: '#app',
  data: {
    msg: '<h1>Vue教程</h1>'
  }
})
</script>

 

v-on指令 

 v-on指令是用来绑定事件监听器的。类似于原生的JavaScript中的onclick的用法,使用此指令可以进行一些交互。" v-on: "可以简写为“ @ ”

例1

    <div id="app">
        <input type="button" value="点击次数" @click="add"/>
        <p>我被按了 {{count}} 次</p>
    </div>
    <script>
        new Vue({
            el:"#app",
            data:{
                count:0
            },
            methods:{
                add(){
                    this.count++
                }
            }
        })
    </script>

 

v-model指令

v-model指令的本质是监听用户输入事件,从而更新数据。同时,v-model指令会忽视所有表单元素的value、checked、selected特性的初始值,他会将Vue实例中的数据作为数据来源。当输入事件发生时,他会实时更新Vue示例中的数据,从而实现数据的双向绑定。

例1

    <div id="app">
        <p>input元素:</p>
        <!-- 使用v-model指令在表单上创建双向数据绑定 -->
        <input v-model="message" placeholder="请输入...">
        <p>消息是:{{message}}</p>
    </div>
    <script>
        new Vue({
            el:'#app',
            data:{
                message:'hello',
            }
        })
    </script>

 

v-if指令

v-if指令可以实现条件渲染,Vue会根据表达式的值的真假来渲染元素

例1:判断二月份有几天

    <div id="app">
        <input type="text" v-model="year">
        <p v-if="year%4==0 ||year%100==0">{{show(29)}}</p>
        <p v-else>{{show(28)}}</p>
    </div>
    <script>
        new Vue({
            el:"#app",
            data:{
                year:2023,
            },
            methods:{
                show(num){
                    return this.year+"年2月份有"+num+"天"
                }
            }
        })
    </script>

例2:比较两个数的大小

    <div id="app">
        请输入第一个数:<input type="text" v-model="num1">
        <br>
        请输入第二个数:<input type="text" v-model="num2">
        <br>
        <p v-if="!this.num1||!this.num2">比较结果:{{show("请输入正确数字")}}</p>
        <p v-else-if="num1>num2">比较结果:{{show("第一个数大于第二个数")}}</p>
        <p v-else-if="num1<num2">比较结果:{{show("第一个数小于第二个数")}}</p>
        <p v-else="num1==num2">比较结果:{{show("第一个数等于第二个数")}}</p>
    </div>
    <script>
        new Vue({
            el:'#app',
            data:{
                num1:'',
                num2:'',
                result:''
            },
            methods:{
                show(da){
                    return  da
                },
            }
        })
    </script>

v-show指令

v-show指令和v-if指令作用还差不多,以下面的例子来区分一下

例1

<div id="app">
        <div v-if="isTrue">v-if</div>
        <div v-show="isTrue">v-show</div>
    </div>
    <script>
        new Vue({
            el:"#app",
            data:{
                
            },
            computed:{
                isTrue(){
                    return false;
                }
            }
        })
    </script>

v-if和v-show的区别

v-if没有显示是因为对页面进行注释

v-show没有显示是因为CSS中的display的值为none

v-if的原理:每次动态创建或移除元素,来实现元素的显示或隐藏

v-show的原理:动态为元素添加或移除display:none样式,来实现元素的显示和隐藏

如果要频繁的切换元素的显示状态,用v-show性能更好

v-for 指令

v-for用来遍历数组、对象的,其表达式需要结合in来使用

遍历数组

    <div id="app">
        <ul>
            <li v-for="cloth in clothes">{{cloth.name}}:${{cloth.price}}</li>
        </ul>
    </div>
    <script>
        new Vue({
            el:'#app',
            data:{
                clothes:[
                    {
                        name:'衬衫',
                        price:'180'
                    },
                   {
                        name:'外套',
                        price:'200'
                   },
                   {
                        name:'裤子',
                        price:'380'
                   }
                ]
            }
        })
    </script>

遍历对象

    <div id="app">
        <ul>
            <li v-for="(value,key,index) in user">{{index}}-{{key}}:{{value}}</li>
        </ul>
    </div>
    <script>
        new Vue({
            el:"#app",
            data:{
                user:{
                    name:"张三",
                    age:"30",
                    sex:"男"
                }
            }
        })
    </script>

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

Vue.js基本指令 的相关文章

随机推荐

  • vue中动态修改style(修改伪元素样式),样式中使用data里面的数据

    需求 伪元素高度使用data中的变量 对其进行动态修改 实现 css less中使用变量的方式 声明css变量的时候 变量名前面要加两根连词线 变量名大小写敏感 header color和 Header Color是两个不同变量 var 函
  • C++中的类——构造函数

    一 什么是构造函数 每个类都分别定义了它的对象被初始化的方式 类通过一个或几个特殊的成员函数来控制其对象的初始化过程 这些函数叫构造函数 构造函数的任务是初始化类对象的数据成员 无论何时只要类的对象被创建 就会执行构造函数 二 构造函数的定
  • 李宏毅 机器学习 2016 秋:7、Brief Introduction of Deep Learning

    文章目录 7 Brief Introduction of Deep Learning 7 Brief Introduction of Deep Learning Deep learning 现在非常的热门 所以 它可以用在什么地方 我觉得真
  • 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

    include
  • 多维时序

    多维时序 MATLAB实现TPA LSTM 时间注意力注意力机制长短期记忆神经网络 多输入单输出 目录 多维时序 MATLAB实现TPA LSTM 时间注意力注意力机制长短期记忆神经网络 多输入单输出 预测效果 基本介绍 环境介绍 程序设计
  • Bellman-Ford算法和Dijkstra算法分别适用的情况有何不同?

    Bellman Ford算法和Dijkstra算法分别适用的情况有何不同 Bellman Ford 求单源最短路 可以判断有无负权回路 若有 则不存在最短路 时效性较好 时间复杂度O VE Bellman Ford算法是求解单源最短路径问题
  • 仅做笔记用:Stable Diffusion 通过 ControlNet 扩展图片 / 扩图

    发觉之前的 Outpainting 脚本效果仍旧不是很理想 这里又找了一下有没有效果更好的途径来扩图 于是就找到了通过 ControlNet 的方式来实现效果更好的扩图 这里临时记录一下在 Stable Diffusion 怎么使用 Con
  • 【VS编译器】使用scanf函数的方法

    1 VS中使用scanf函数的问题 VS中运行以下代码 include
  • windows杀死nginx进程

    查看80端口号列表 tasklist findstr 80 根据端口号查看nginx tasklist findstr 28024 杀死nginx进程 taskkill f t im nginx exe
  • OC门与OD门以及线与逻辑

    OC Open Collector 门又叫集电极开路门 主要针对的是BJT电路 从上往下依次是基极 集电极 发射极 OD Open Drain 门又叫漏极开路门 主要针对的是MOS管 从上往下依次是漏极 栅极 源极 线与逻辑指的是两个输出端
  • [从零开始学习FPGA编程-22]:进阶篇 - 架构 - FPGA内部硬件电路的设计与建模

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 什么是数字硬件电路 1 1 什么是硬件电路
  • 使用docker-compose启动docker镜像报错exec ./docker-entrypoint.sh: no such file or directory

    报错原因 exec docker entrypoint sh no such file or directory 我们可以在linux下通过cat v命令查看 sh文件 例 cat v Dockerfile WORKDIR tools M
  • 二维向量叉积的几何意义

    叉乘 cross product 相对于点乘 叉乘可能更有用吧 2维空间中的叉乘是 V1 x1 y1 X V2 x2 y2 x1y2 y1x2看起来像个标量 事实上叉乘的结果是个向量 方向在z轴上 上述结果是它的模 在二维空间里 让我们暂时
  • Zotero 知网 PDF与CAJ 抓取模式切换

    Zotero可以通过安装茉莉花插件 jasminum 一键安装https github com l0o0 translators CN内的中文翻译器 从而实现对知网文献元数据以及相应PDF的抓取 但是在使用过程中我发现 由于知网对于学位论文
  • Visual Studio开始Python编程 && Windows下用PyCharm

    Windows搭建python开发环境 首先需要去python的官网下载环境 鼠标移动到Downloads的tab上 在这里可以下载 python的环境还是很人性化的 没有那么多罗里吧嗦的配置什么的 下载好以后直接无脑next就行了 直到f
  • VS中为QT项目添加多个ui

    在VS中创建QT项目 如下图所示 这里已经有一个 ui文件 现在的目标是再添加一个 ui文件并使之在项目中可用 添加新的 ui文件 右击项目 gt 添加 gt 新建项 gt Visual C gt QT 选择一个模板 如 Qt Dialog
  • 目标检测模型从训练到部署,其实如此简单

    目标检测的任务是找出图像中所有感兴趣的目标 物体 确定它们的类别和位置 是计算机视觉领域的核心问题之一 目标检测已应用到诸多领域 比如如安防 无人销售 自动驾驶和军事等 在许多情况下 运行目标检测程序的设备并不是常用的电脑 而是仅包含必要外
  • 分布式事务管理(Seata)

    文章目录 1 概述 分布式事务问题 什么是Seata Seata术语 怎么用 Windows安装 Docker安装 MySQL nacos seata 2 配置官网案例 分析业务逻辑 创建数据库 订单模块 建Module POM YML f
  • Qt 的一些心得

    一 背景刷成黑色 前景色设为白色 方法一 paltette方式 经测试 该方法不会影响到其他控件 推荐使用 QPalette bgpal palette bgpal setColor QPalette Background QColor 0
  • Vue.js基本指令

    目录 插值表达式 v html和v text指令 例1 v on指令 例1 v model指令 例1 v if指令 例1 判断二月份有几天 例2 比较两个数的大小 v show指令 v if和v show的区别 v for 指令 遍历数组