Vue计算属性的用法

2018-08-02 06:22:07来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

计算属性是个很好玩的东西,在这里面可以对数据模型进行操作,·也可以使用getter,setter方法。使用的话也是非常的简洁明了

这里写个例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--<script src="js/vue.min.js"></script>-->
    <script src="vue.min.js"></script>


</head>
<body>
<div id="app">
    总价:{{prices}}
</div>
<script>
    var app=new Vue({
        el:'#app',
        data:{
            package1:[
                {
                    name:'iPhone 7',
                    price:7199,
                    count:2
                },
                {
                    name:'iPad',
                    price:2888,
                    count:1
                }
            ],
            package2:[
                {
                    name:'apple',
                    price:3,
                    count:5
                },
                {
                  name:'Banana',
                  price:2,
                  count:10
                }
            ]},
            computed:{
                prices:function () {
                    var prices=0;
                    for(var i=0;i<this.package1.length;i++){
                        prices+=this.package1[i].price*this.package1[i].count;
                    }
                    for (var i=0;i<this.package2.length;i++){
                        prices+=this.package2[i].price*this.package2[i].count;
                    }
                    return prices;
                }
            }


    })
</script>
</body>
</html>

在computed属性里面定义一个计算price的方法,然后对data里面的东西进行操作

下面看一下运行结果:

然后再看一下如何使用getter、setter方法:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
</head>
<body>
<div id="app">
    姓名:{{fullname}}
</div>
<script>
    var app=new Vue({
        el:'#app',
        data:{
          firstName:'Jack',
          lastName:'Green'
        },
        computed:{
            fullname:{
            //getter,用于读取
            get:function () {
              return this.firstName+ ' '+this.lastName;
            },
            //setter
            set:function (newValue) {
                var names=newValue.split(' ');
                this.firstName=names[0];
                this.lastName=names[names.length-1];
            }
            }
        }
    })
</script>
</body>
</html>

展现出来的效果是这样的

也是比较简单的用法,在购物模型里面还有金融计算类的应用里面应该用的比较多这个属性

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:gulp-px2rem-plugin 插件的一个小bug

下一篇:Vue.js 的一个小技巧---利用v-for中的index值,来实现隔行变色