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>
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)