<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>条件渲染</title> </head> <body> <!-- v-if 作为判断条件 如果满足则展示它所附着的元素的内容--> <!-- 除了v-if 还可以配合使用v-else--> <div v-if="Math.random()>0.5"> {{message}} </div> <div v-else> {{message2}} </div> <!-- v-if使用时必须加在一个元素上 如果想要根据一个判定条件展示多个数据的话 要用到template--> <!-- template相当于一个包装元素 不显示在网页上 --> <template v-if="ok"> <h1>这是个标题</h1> <p>lowrie</p> </template> <!-- v-else还可以跟在v-show后--> <!-- 注意:v-else必须紧跟在v-show 或者v-if后 否则浏览器不能识别 --> <!-- v-show和v-if的区别 v-show所附着的元素会一直存在于Dom层中 是简单的切换元素的CSS属性display --> <!-- 注意:v-show不支持template --> <div v-show="ok"> 我是v-show </div> <!-- v-if v-show对比: v-if是真实的条件渲染,因为它会确保条件块在切换当中适当地销毁与重建条件块内的事件监听器和子组件。 v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——在条件第一次变为真时才开始局部编译(编译会被缓存起来)。 相比之下, v-show 简单得多——元素始终被编译并保留,只是简单地基于 CSS 切换。 一般来说, v-if 有更高的切换消耗而 v-show 有更高的初始渲染消耗。因此,如果需要频繁切换使用 v-show 较好,如果在运行时条件不大可能改变则使用 v-if 较好。 --> <script src="https://www.jb51.net/js/vue.js"></script> <script src="https://www.jb51.net/js/vuetext.js"></script> </body> </html>
js:
var app1=new Vue({ el:'#app-1', data:{ message:'我的随机数大于0.5' } }); var app2=new Vue({ el:'#app-2', data:{ message2:'我的随机数小于0.5' } });