zoukankan      html  css  js  c++  java
  • 005 Vue 计算属性

    计算属性 computed

                    data中的数据可以直接在html中通过差值表达式直接引用,但是有时候,我们想要data中的数据经过转换或者简单的计算再展示

                【注意】computed中定义的函数而非变量

    1. 简单使用

                    computed:{

                           fullName(){

                               return this.lastName + " " + this.firstName;

                           }

                       }

    2. 复杂使用

                    当计算比较复杂时,就显示出计算属性的优势了

                    new Vue({

                        el: "#app",

                        data:{

                            firstName: "Blog",

                            lastName: "Carrey",

                            books:[

                                {id:001, name: '计算机原理', price: 120},

                                {id:002, name: '计算方法论', price: 123},

                                {id:003, name: '人机工程学', price: 201},

                                {id:004, name: '最优化理论', price: 223},

                            ],

                        },

                        computed:{

                            fullName(){

                                return this.lastName + " " + this.firstName;

                            },

                            totalPrice(){

                                var TP = 0;

                                for(var book of this.books){

                                    TP += book.price;

                                }

                                return TP;

                            }

                        }

                    })

    3. 每一computed对象的元素都有一个set变量和get变量,即完整的computed属性应写成:

                        fullName:{

                            set:function(newValue){

                                var res = newValue.split(" ");

                                this.firstName = res[0];

                                this.lastName = res[1];

                            },

                            get: function(){

                                return this.lastName + " " + this.firstName;

                            }

                        },

                    其中,调用属性fullName时,调用的是get函数,给属性fullName赋值时,调用的是set函数

               

    4. 可以看到,computed中定义的是函数,这和methods是一样的,那为什么还多此一举来一个computed呢

                    因为函数每次被调用时,都会重新执行一遍

                    而计算属性会进行缓存,如果多次使用,计算属性只会计算一次

  • 相关阅读:
    转载:有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别
    生活该是什么样子
    怎么处理问题
    jquery.validate 1.7版本(remote方法)bug修复方法(一)
    jquery.ui.dialog 1.81在IE8中出现滚动条bug解决方法
    javascript 懒加载技术(lazyload)简单实现
    jquery.validate 1.7版本(remote方法)bug修复方法(二)
    发布一款JavaScript焦点图组件
    发布一款轻量级的JSON转换代码
    android_intent和intent_action大全 .
  • 原文地址:https://www.cnblogs.com/carreyBlog/p/13667749.html
Copyright © 2011-2022 走看看