zoukankan      html  css  js  c++  java
  • vue里的渲染以及computed的好处

    如果vue里的某个methods函数执行,导致页面重新渲染,那么所有页面渲染相关的methods函数会重新执行以及时的渲染页面

    但是大量函数的重新没有必要的执行会导致性能的下降,

    此时如果把没有必要再次执行的方法定义到computed里,那么这些没有必要执行的方法就不会被渲染页面时候执行。

    只有在computed函数所依赖的数据变化时候才会被执行

    并且将结果会存在缓存里,每次环境改变只会执行一次,不会像methods里的方法一样每次遇到都执行

     1  <div id="app">
     2      <div></div>
     3      <p>{{num}}</p>
     4      <p>{{showName}}</p>
     5      <p>{{name}}</p>
     6      <button v-on:click='add'>add</button>//点击此按钮,add在methods里,会导致页面被重新渲染,所有页面需要的函数都会重新执行一遍,但computed里的函数不会执行
     7      <button v-on:click='changeName'>name</button>//点击此按钮,是否会导致页面重新渲染??是否会引起methods里函数执行
     8 
     9     </div>
    10     <script src="vue.js"></script>
    11     <script>
    12         var vm = new Vue({
    13             el:"#app",
    14            data:{
    15                name:'aaa',
    16                num:0
    17            },
    18            methods:{
    19               
    20                add:function(){
    21                    this.num ++
    22                },
    23                changeName:function(){
    24                    this.name = this.name+'a'
    25                }
    26            },
    27            computed:{
    28             showName:function(){
    29                    alert('showName执行了')
    30                    return this.name
    31                },
    32             
    33            },
    34 
    35         })
    36     </script>
    • computed比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化,举例:购物车里面的商品列表和总金额之间的关系,只要商品列表里面的商品数量发生变化,或减少或增多或删除商品,总金额都应该发生变化。这里的这个总金额使用computed属性来进行计算是最好的选择
  • 相关阅读:
    Http协议和Tomcat服务器
    类加载器与反射
    线程安全
    String、Stringbuffer、Stringbuilder三者之间的区别
    iOS 开发,工程中如何混合使用 ARC 和非ARC
    dll的静态调用、动态调用
    Qt安装—搭建VS2008+QT开发环境
    C++中的引用与指针的区别
    SVN分支与合并
    (补充知识)DLL 中 .DEF文件的使用
  • 原文地址:https://www.cnblogs.com/dangdanghepingping/p/10160975.html
Copyright © 2011-2022 走看看