我是靠谱客的博主 羞涩外套,最近开发中收集的这篇文章主要介绍Vue.js 条件渲染 (v-if v-else v-else-if v-show)一. Vue条件渲染,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一. Vue条件渲染

分享我的学习收获希望能够帮到大家

今天为大家分享关于Vue的条件渲染(v-if v-else v-else-if v-show)
下面我们来结合代码理解

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>条件渲染</title>
    <script src="../Vue.js/vue.js"></script>
</head>
<body>
    <div id="root">
        <!-- 使用v-show做条件渲染 a=false时h1不显示-->
        <h1 v-show="a===1">如果事与愿违,那一定另有安排--{{name}}</h1>
        
        <h2>当前的n值是:{{n}}</h2>
        <!-- 使用v-if做条件渲染 在使用时不允许被打断-->
        <h2 v-if='n === 1'>现在我等于1</h2>
        <h2 v-else-if='n === 2'>现在我等于2</h2>
        <h2 v-else-if='n === 3'>现在我等于3</h2>
        <!-- v-if  v-else  v-else-if 用法和if else else-if 用法一样 -->
        <h2 v-else>我不等于1,2,3</h2>
        <button @click='n++'>点我n+1</button>
        <div>@</div>
        
        <!-- template模板只能配合v-if使用 -->
        <template v-if='a===1'>
            <h1>你好</h1>
            <h2>可期</h2>
        </template>
    </div>

    <script>
        const vm = new Vue({
            el:'#root',
            data:{
                name:"某某",
                a:1,
                n:0
            }
        })
    </script>
</body>
</html>

1.如果我们想要控制内容是否显示我们就可以使用v-show

v-show=“a===1”>如果事与愿违,那一定另有安排–{{name}}

例如此处 v-show后面的 “表达式” 当表达式值为false时则不显示内容,或不符合表达式的条件,注:仅仅是内容不显示

2.下面我们来设置一个按钮,来控制当条件符合要求时可以显示内容,使用v-if

<h2>当前的n值是:{{n}}</h2>
<h2 v-if='n === 1'>老大</h2>
<h2 v-if='n === 2'>老二</h2>
<h2 v-if='n === 3'>老三</h2>
<button @click='n++'>点我n+1</button>

这里我们点击按钮来使n的值增加,当n等于1时老大出现,
当n等于2时老二出现,当n等于3时老三出现

3.v-if v-else v-else-if 组合使用
在Vue中v-if v-else v-else-if 也可以组合使用,即原理和js中一样

<h2>当前的n值是:{{n}}</h2>
<h2 v-if='n === 1'>老大</h2>
<h2 v-else-if='n === 2'>老二</h2>
<h2 v-else-if='n === 3'>老三</h2>
<h2 v-else>我不等于1,2,3</h2>
<button @click='n++'>点我n+1</button>

同样当n的值分别等于1,2,3 时分别显示老大,老二,老三,当n的值都不等于1,2,3时则显示不等于1,2,3.
但是在此处需要注意的是使用v-if做条件渲染 在使用时不允许被打断

4.标签的使用
如果在代码中出现条件相同的语句,想要一次同时输出,那我们就可以使用。当然也可以使用v-show ,但使用v-show 就比较繁琐,需要每条语句都添加相同的条件,若单独使用v-if会将不展示的dom元素完全删除,那么就无法调用。然而就很好的解决的这个问题

<template v-if='a===1'>
            <h1>你好</h1>
            <h2>可期</h2>
        </template>

这样我们只需要满足条件a=1,那么两个标签中的内容都会被dom捕捉,且当内容隐藏时,还可以在代码中调用。
注:template只能配合v-if使用

二.内容总结:

条件渲染:

        1.v-if
            写法:
                (1).v-if="表达式"
                (2).v-else-if="表达式"
                (3).v-else="表达式"
            适用于:切换频率较低的场景
            特点:不展示的dom元素直接删除
            注意:v-if 可以和v-else-if,v-else 一起使用,但要求结构不能被打断
        2.v-show
            写法:v-show="表达式"
            适用于:频率较高的切换
            特点:不展示的dom元素被溢移除,仅仅是样式隐藏掉
        3.备注:
            使用v-if时,元素可能无法获取到,未使用v-show一定能获取到

最后

以上就是羞涩外套为你收集整理的Vue.js 条件渲染 (v-if v-else v-else-if v-show)一. Vue条件渲染的全部内容,希望文章能够帮你解决Vue.js 条件渲染 (v-if v-else v-else-if v-show)一. Vue条件渲染所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部