博客列表 >实例演示条件渲染-计算属性-侦听器属性

实例演示条件渲染-计算属性-侦听器属性

葡萄枝子
葡萄枝子原创
2021年01月19日 00:02:53710浏览

实例演示条件渲染-计算属性-侦听器属性

作业内容:实例演示条件渲染, 计算属性和侦听器,并比较计算属性与侦听器之间的区别,一定要实例演示才可以看到区别

  • 中引入 vue 库
  1. <!-- 引入vue框架库 -->
  2. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

条件渲染 v-if, v-show

  1. <!-- 条件渲染 v-if, v-show -->
  2. <div class="app1">
  3. <!-- 条件渲染 v-if -->
  4. <!-- 满足条件时,才会添加到 dom 中 -->
  5. <p><input type="number" v-model="num" @change="changenum($event)" /></p>
  6. <p v-if="num >= 0 && num <= 10">num >= 0 && num <= 10</p>
  7. <p v-else-if="num > 10 && num <= 20">num > 10 && num <= 20</p>
  8. <p v-else>num < 0 || num> 20</p>
  9. <!-- 条件渲染 v-show -->
  10. <!-- num <= 20 时,v-show 隐藏,但 dom 中存在 -->
  11. <p v-show="num > 20">num > 20</p>
  12. </div>
  13. <script>
  14. const vm1 = new Vue({
  15. el: document.querySelector('.app1'),
  16. data() {
  17. return {
  18. num: 0,
  19. }
  20. },
  21. methods: {
  22. changenum(ev) {
  23. this.num = ev.target.value;
  24. }
  25. },
  26. });
  27. </script>
  • 输入框输入 21,v-else 和 v-show 图

条件渲染

计算属性和侦听器

  1. <!-- 计算属性和侦听器 -->
  2. <div class="app2">
  3. <p><input type="number" /> <button @click="clicknum($event)">sum</button></p>
  4. <p>sum = {{sum}}</p>
  5. <p v-for="(item, index) of watcharr" :key="index">{{index}} - {{item}}</p>
  6. </div>
  7. <script>
  8. const vm2 = new Vue({
  9. el: document.querySelector('.app2'),
  10. data() {
  11. return {
  12. num: 0,
  13. count: 0,
  14. watcharr: [],
  15. }
  16. },
  17. // 方法
  18. methods: {
  19. clicknum(ev) {
  20. this.num = ev.target.previousElementSibling.value;
  21. this.count ++;
  22. },
  23. },
  24. // 计算属性
  25. computed: {
  26. sum() {
  27. let sum = 0;
  28. for (let i = 0; i <= this.num; i++) {
  29. sum += i;
  30. }
  31. return sum;
  32. },
  33. },
  34. // 侦听器属性
  35. watch: {
  36. num(newvalue, oldvalue) {
  37. this.watcharr.push(`点击第 ${this.count} 次, 新值 ${newvalue}, 旧值 ${oldvalue}`);
  38. }
  39. }
  40. });
  41. </script>
  • 点击第2次 sum 按钮时,由于没有改变被检测的 num 值,页面并没有输出,第3次改变了输入的 num 值,watch 监测到,故第 3 次的点击,页面产生输出了。

计算属性和侦听器

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议