文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
什么是条件渲染?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
条件渲染意味着,如果某个特定条件为真,则从dom
中添加或删除元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
在Vue
中,我们需要使用v-if
指令来有条件地渲染元素。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
让我们看一个例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
<template> <div> <!-- v-if="javascript expression" --> <h1 v-if="isActive">Hello Vuejs</h1> <button @click="isActive= !isActive">点击</button> </div> </template> <script> export default{ data:function(){ return{ isActive:false } } } </script>
在上面的代码中,我们添加了一个带有属性isActive
的v-if
指令,因此如果isActive
属性为true
, h1
元素只渲染到dom
中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
我们还可以在v-if
指令之后扩展v-else
指令。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
<h1 v-if="isActive">Hello Vuejs</h1> <h1 v-else>Hey Vuejs</h1>
如果isActive
属性为真,则第一个h1
元素将渲染,否则第二个h1
元素将渲染到dom
中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
我们还可以使用v-else-if
块进一步扩展它。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
<h1 v-if="isActive">Hello Vuejs</h1> <h1 v-else-if="isActive && ">You're vuejs</h1> <h1 v-else>Hey Vuejs</h1>
在JavaScript
中,v-else-if
指令的工作原理类似于else-if
块。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
注意:一个v-else
元素必须紧跟一个v-if
元素或v-if-else
元素,否则将无法识别它。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
如何有条件地渲染多个元素?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
有时我们必须有条件地渲染多个元素,在这种情况下,我们需要将元素组合在一起。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
<template> <div v-if="available"> <h1>Items are available</h1> <p>More items in the stock</p> </div> <div v-else> <h1>Items are not available</h1> <p>Out of stock</p> </div> </template> <script> export default { data: function() { return { available: true }; } }; </script>
在这里,我们将div
标签中的多个元素分组。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/10663.html