javascript - 将 vuejs 函数绑定(bind)为上下文 vuejs 的数据

标签 javascript vue.js

我想使用函数作为数据属性。这似乎在“works”数据属性的情况下工作得很好。但是我需要函数中的 this 上下文,以便我可以计算存储在 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);
        },
    }

最佳答案

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

在方法中,可以调用this.xxx从dataproperty获取属性

关于javascript - 将 vuejs 函数绑定(bind)为上下文 vuejs 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37209903/

相关文章:

javascript - 获取跨度内文本的值

javascript - 下面的 JavaScript 作用域是如何工作的

javascript - AngularJS:如何在路由之间以html形式保存数据

javascript - Vue 自定义元素无法在 Dist 中构建独立的 JS 文件

javascript - 如何清除 vuejs 状态的Interval

vue.js - 汇总 Vue 3 动态 img src

javascript - 为什么 JSON.stringify on TypeError 返回一个空对象

javascript - jasmine-maven-plugin 和 require-js 导致路径问题

javascript - 在 vue 组件中使用 moment 格式化日期

vue.js - 删除数据表 Vuetify 上选定的行