Vue2.0文档学习及案例总结之----Conditioning rendering
条件是循环的开始。。。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Conditional rendering</title> <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="https://unpkg.com/vue/dist/vue.js"></script> </head> <body> <h4>Conditional Rendering</h4> <h6>v-if</h6> <div id="demo"> <h1 v-if="ok">Yes</h1> <h1 v-else>No</h1> <script> var vm = new Vue({ el: '#demo', data: { ok: false } }) </script> </div> <h6>Template v-if</h6> <div id="demo2"> <template v-if="ok"> <h1>Title</h1> <p>Paragraph 1</p> <p>Paragraph 2</p> </template> <!--<div v-if="Math.random() > 0.5">--> <!--Now you see me--> <!--</div>--> <div v-else> Now you don't </div> <script> var vm = new Vue({ el: '#demo2', data: { ok: '' } }) </script> </div> <h6>v-show(不支持template)</h6> <div id="demo1" > <button @click="foo()">aa</button> <div v-show="ok" > Now you see me </div> <script> var vm = new Vue({ el: '#demo1', data: { ok: '', // no: '' }, methods:{ foo:function () { vm.ok='show' } } }) </script> </div> <p>if or show?</p>v-if <p>Generally speaking, v-if has higher toggle costs(切换损耗) while v-show has higher initial render costs(渲染损耗). So prefer v-show if you need to toggle something very often, and prefer v-if if the condition is unlikely to change at runtime.变动大用v-show,否则用v/p> <mark>v-if 是真实的条件渲染,因为它会确保条件块在切换当中适当地销毁与重建条件块内的事件监听器和子组件。 v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——在条件第一次变为真时才开始局部编译(编译会被缓存起来)。 相比之下, v-show 简单得多——元素始终被编译并保留,只是简单地基于 CSS 切换。 一般来说, v-if 有更高的切换消耗而 v-show 有更高的初始渲染消耗。因此,如果需要频繁切换使用 v-show 较好,如果在运行时条件不大可能改变则使用 v-if 较好。</mark> </body> </html>
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦