vue 基础 计算属性 与 methods

vue 基础 计算属性

一、计算属性的基本使用

        <div id="app">
            <h2>{{fullName}}</h2>
        </div>

        <script src="../js/vue.js"></script>
        <script>
            const app = new Vue({
                el:"#app",
                data:{
                    firstName:'tian',
                    lastName:'ya',
                },
                //计算属性
                computed:{
                    fullName:function(){
                        return this.firstName + ' '+ this.lastName
                    }
                },
            })
        </script>

说明:
1.在data中定义 firstName:’ feng’, lastName:‘ling’
2.在vue中 定义 computed属性 实现fullName方法
3. return this.firstName + ’ ’ + this.lastName
4. 在app中 用插值表达式 {{fullName}}
5. 这样就 显示出了 fengling

二.计算属性的复杂操作

  <div id="app">
            <h2>总价格:{{totalPrice}}</h2>
        </div>

        <script src="../js/vue.js"></script>
        <script>
            const app = new Vue({
                el:"#app",
                data:{
                    books:[
                        {id:110,name:'斗罗大陆1',price:200},
                        {id:111,name:'斗罗大陆2',price:200},
                        {id:112,name:'斗罗大陆3',price:200},
                        {id:113,name:'斗罗大陆4',price:200},
                        {id:114,name:'斗罗大陆5',price:200},
                    ]
                },
                //计算属性
                computed:{
                   totalPrice:function(){
                       let result = 0;
                       for(let i=0;i<this.books.length;i++){
                        result += this.books[i].price
                       }
                       return result
                   }
                },
            })
        </script>

步骤:计算书的价格
1.data中定义书
2.computed中实现totalPrice
3.先定义初始值 result = 0
4.for循环遍历 书
5.result += this.books[i].price
6.返回 resutl return result

三、计算属性与methods的对比

       <div id="app">
            <h2>{{getFullName()}}</h2>
            <h2>{{getFullName()}}</h2>
            <h2>{{getFullName()}}</h2>
            <h2>{{fullName}}</h2>
            <h2>{{fullName}}</h2>
            <h2>{{fullName}}</h2>
        </div>

        <script src="../js/vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    firstName: "tian",
                    lastName: "ya",
                },
                methods: {
                    getFullName: function () {
                        console.log('getFullName');//调用3次
                        return this.firstName + " " + this.lastName;
                    },
                },
                //计算属性
                computed: {
                    fullName: function () {
                        console.log('fullName');//调用1次
                        return this.firstName + " " + this.lastName;
                    },
                },
            });
        </script>

说明:
1.计算属性 只会调用一次
2.methods 中的函数 回调用多次 会浪费性能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值