zoukankan      html  css  js  c++  java
  • Vue——computed与methods的区别

    <div id="app">
        <p>{{getFullName()}}</p>
        <p>{{fullName}}</p>
    </div>
    
    <script src="js/vue.js"></script>
    <script>
        let vue = new Vue({
            el: '#app',
            data: {
                firstName: '张',
                lastName: '三'
            },
            methods: {
                getFullName(){
                    return this.firstName+" "+this.lastName
                }
            },
            computed: {
                fullName(){
                    return this.firstName+" "+this.lastName
                }
            }
        })
    
    1. 从上面例子中很容易看出,虽然两者都能通过 {{}} 引用,但 methods 需要加括号。
    <div id="app">
        <p>{{getFullName()}}</p>
        <p>{{fullName}}</p>
        <p>{{getFullName()}}</p>
        <p>{{fullName}}</p>
        <p>{{getFullName()}}</p>
        <p>{{fullName}}</p>
        <p>{{getFullName()}}</p>
        <p>{{fullName}}</p>
    </div>
    
    <script src="js/vue.js"></script>
    <script>
        let vue = new Vue({
            el: '#app',
            data: {
                firstName: '张',
                lastName: '三'
            },
            methods: {
                getFullName(){
                    console.log('methods')
                    return this.firstName+" "+this.lastName
                }
            },
            computed: {
                fullName(){
                    console.log('computed')
                    return this.firstName+" "+this.lastName
                }
            }
        })
    </script>
    

    1. 当多次调用时,computed 有缓存,如果没有改变,多次引用只会调用一次

      而 methods 没有缓存,每次引用都会调用一次

      所有就对属性计算方面来看, computed 优于 methods

  • 相关阅读:
    java -jar 远程调试
    正则
    python2和3的区别
    javaw 运行jar 指定编码
    windows kill 结束指定端口进程
    linux 查看nginx 安装目录
    node-mysql中防止SQL注入
    实用资源库和工具,极大缩减开发时间
    浏览器地址栏运行JavaScript代码
    css垂直居中方案
  • 原文地址:https://www.cnblogs.com/angle-yan/p/13463684.html
Copyright © 2011-2022 走看看