Vue.js-条件渲染 原

时间:2022-06-19
本文章向大家介绍Vue.js-条件渲染 原,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

v-if 条件渲染指令,根据其后表达式的bool值进行判断是否渲染该元素;

<div id="example01">
 <p v-if="male">Male</p>
 <p v-if="female">Female</p>
 <p v-if="age>25">Age:{{age}}</p>
 <p v-if="name.indexOf('lin')>0">Name:{{name}}</p>
</div>
var vm= new Vue({
 el:"#example01",
 data:{
   male:true,
   female: false,
   age:29,
   name:'colin'
 }
 })

在<template>中配合v-if条件渲染一整组 因为v-if是一个指令,需要将它添加到一个元素上,但是如果我们想切换多个元素,此时我们可以把一个<template>元素当做包装元素,并在上面使用v-if,最终的渲染结果不会包含<template>元素 

<body class="">
    <div id="app-7">
    <template v-if="ok">
    	<h1>yes</h1>
    	<p>duanluo1</p>
    	<p>duanluo2</p>
    </template>
    </div>
    <script src="js/vue.js"></script>
    <script>
	Vue.component('my-component', {
  template: '<p class="foo bar">Hi</p>'
})
    var app = new Vue({
        el: "#app-7",
        data: { ok: true},
        
    })
    </script>
</body>

<body class="">
    <div id="app-7">
        <div v-if="type==='A'">A</div>
        <div v-if="type==='B'">B</div>
        <div v-if="type==='C'">C</div>
    </div>
    <script src="js/vue.js"></script>
    <script>
	Vue.component('my-component', {
  template: '<p class="foo bar">Hi</p>'
})
    var app = new Vue({
        el: "#app-7",
        data: { type: 'B'},
        
    })
    </script>
</body>

v-else-if,顾名思义,充当 v-if 的“else-if 块”。可以链式地使用多次:

#用key管理可复用的元素

<body class="">
    <div id="app-7">
        <template v-if="loginType==='username'">
            <label>Username</label>
            <input placeholder="enter your username" key="usename">
        </template>
        <template v-else>
            <label>Email</label>
            <input placeholder="enter your email address" key="input">
        </template>
        <button v-on:click="changeMethod">切换</button>
    </div>
    <script src="js/vue.js"></script>
    <script>
    var app = new Vue({
        el: "#app-7",
        data: { loginType: "username" },
        methods: {
            changeMethod: function() {
                return this.loginType = this.loginType == "username" ? "email" : "username"
            }
        }
    })
    </script>
</body>
//v-if 根据表达式的值true 或者 false移除或插入html,key的作用是2个input是独立的

v-show 用法与v-if大致相同 <h1 v-show="ok">Hello!</h1> 不同的是带有v-show的元素始终会被渲染并保持在DOM中,是简单的切换元素的css display (显示或者隐藏) 注意:v-show不支持<template>语法,也不支持v-else

v-if与v-for一起使用 当v-if与v-for一起使用时,v-for具有比v-if更高的优先级

(adsbygoogle = window.adsbygoogle || []).push({});