我想将一个函数用作数据属性。这似乎工作得很好,就像'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);
},
}
答案 0 :(得分:0)
您应该使用methods
而非data
来实现此目的
data
正在帮助您存储某些内容而不是处理某些操作。
在方法中,您可以调用this.xxx来获取data
或property