6.条件渲染.html 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>Document</title>
  8. <script src="../../vue.js"></script>
  9. </head>
  10. <body>
  11. <div id="app">
  12. <!-- 条件渲染指令:v-if -->
  13. <!-- 当 v-if绑定的值 为 真时, 才会创建并渲染该标签;如果为假 就会销毁该标签 -->
  14. <p v-if="show">你能看见我吗</p>
  15. <p v-else>我看不见你</p>
  16. <p>分数:{{ score }}</p>
  17. <p v-if="score >= 90">秀儿</p>
  18. <p v-else-if="score >=70">良儿</p>
  19. <p v-else-if="score >=60">还中</p>
  20. <p v-else>啥也不是</p>
  21. <!-- 条件渲染指令:v-show -->
  22. <p v-show="show">我是v-show</p>
  23. <p v-show="score >= 90">秀儿</p>
  24. <p v-show="score >=70 && score < 90">良儿</p>
  25. <p v-show="score >=60 && score < 70">还中</p>
  26. <p v-show="score < 60">啥也不是</p>
  27. <p>
  28. <p> v-if vs v-show </p>
  29. v-if
  30. 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。
  31. v-if
  32. 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。
  33. 相比之下,v-show
  34. 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS
  35. 进行切换。 一般来说,v-if 有更高的切换开销,而 v-show
  36. 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show
  37. 较好;如果在运行时条件很少改变,则使用 v-if 较好。
  38. </p>
  39. </div>
  40. <script>
  41. var vm = new Vue({
  42. el: '#app',
  43. data: {
  44. show: false,
  45. score: Math.ceil(Math.random() * 100),
  46. },
  47. });
  48. </script>
  49. </body>
  50. </html>