Vue之computed与watch的使用

电玩女神 2021-11-29 17:06 419阅读 0赞
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <div id="ex-computed">
  11. <p>Original message: "{
  12. { message}}"</p>
  13. <p>Computed reversed message: "{
  14. { reversedMessage }}"</p>
  15. </div>
  16. <div id="ex-watch">
  17. 我是练习watch的div
  18. <input type="number" v-model="num" />
  19. <p v-if='isOK'>两次差值已大于3,所以你看见我了~</p>
  20. </div>
  21. <script src="../node_modules/vue/dist/vue.js"></script>
  22. <script>
  23. /* 计算属性computed的用途:
  24. 模板内的表达式是便利的,但是为了方便维护,复杂的逻辑就不应该
  25. 直接放在表达式里,而应当使用计算属性。
  26. */
  27. /* computed vs 方法:
  28. 下面的例子也可以定义方法,然后在表达式中调用方法来达到同样的效果。
  29. 不同的是:computed是基于它们的响应式依赖进行缓存的,在下面的例子中,
  30. 只要message没有发生改变那么多次访问reversedMessage会立即返回之前
  31. 计算的结果,使用缓存可以提高系统的性能,减少重复开销。
  32. */
  33. var vm = new Vue({
  34. el: '#ex-computed',
  35. data: {
  36. message: 'Hello'
  37. },
  38. computed: {
  39. // 默认情况下只提供了计算属性的getter
  40. reversedMessage: function() {
  41. // this执行该vm实例
  42. return this.message.split('').reverse()
  43. .join('')
  44. }
  45. }
  46. });
  47. /* computed VS watch:
  48. Vue提供了一种更通用的方式来观察和响应Vue实例上的数据变动:侦听属性(watch)
  49. ,watch侦听属性应该用于要从旧状态到新状态这变化过程中获取到信息或进行操作的行为,
  50. 而不应该滥用,因为在大多数情况下,使用computed或许更加合适。下面这个例子是合理使用watch的一个例子:
  51. */
  52. var vm2 = new Vue({
  53. el: "#ex-watch",
  54. data: {
  55. num: 1,
  56. isOK: false
  57. },
  58. watch: {
  59. num: function(newNum, oldNum) {
  60. console.log(newNum);
  61. if (newNum - oldNum > 3) {
  62. this.isOK = true;
  63. } else {
  64. this.isOK = false;
  65. }
  66. }
  67. }
  68. })
  69. </script>
  70. </body>
  71. </html>

转载于:https://www.cnblogs.com/yunche/p/11086920.html

发表评论

表情:
评论列表 (有 0 条评论,419人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vuewatchcomputed

    watch用于监控自身属性变化和监控路由对象 计算属性computed的特点 计算属性会依赖于他使用的data中的属性,只要是依赖的属性值有改变,则自动重新调用一下计