使用上下文vuejs将vuejs函数绑定为数据

时间:2016-05-13 12:19:59

标签: javascript vue.js

我想将一个函数用作数据属性。这似乎工作得很好,就像'works'数据属性的情况一样。但是我需要在函数中使用此上下文,以便我可以计算存储在this.shoppingCart(另一个属性)中的值。

这可能吗?如果是这样,我做错了什么?

 new Vue({
    el: '#vueApp',

    data: {

        shoppingCart: [],      

        works : function () {
            return "testfunc";
        },
        totalPriceCalcProperty : function () {

             this.totalPrice = this.shoppingCart.reduce(function(total, cartItem){

                console.log(total, cartItem);
                return total + parseFloat(cartItem.price);

            }, 0);
        }
    },

    methods: {

       totalPriceCalc: function () {

            this.totalPrice = this.shoppingCart.reduce(function(total, cartItem){

                console.log(total, cartItem);
                return total + parseFloat(cartItem.price);

            }, 0);
        },
    }

1 个答案:

答案 0 :(得分:0)

您应该使用methods而非data来实现此目的 data正在帮助您存储某些内容而不是处理某些操作。

在方法中,您可以调用this.xxx来获取dataproperty

中的属性