Vue2:当我从响应中分配 属性 时,为什么会收到无限的 $http.get 请求?

Vue2: Why do I get infinite $http.get requests when I assign property from response?

$http.get 调用我处理数据的后端并 return 结果,我想动态地将 属性 分配给 this(属性在数据列表中声明):

watch: {
    send_amount: function() {
        this.updateAmount('my_param1');
    },
    receive_amount: function() {
        this.updateAmount('my_param2');
    },
},

methods: {
    updateAmount: function(_par) {

        var vVar = this;

        this.$http.get('http://www.website.dev/api/calculate', { params: { rec: _par } })
                .then(function(response) {

                    _results = JSON.parse(response.data);

                    $.each(_results, function(k, v) {

                        vVar[k] = v; // << this causes the $http.get request to be sent over and over, infinitely.

                    });

                });
    }

}

由于您不想在以编程方式更改变量时调用 updateAmount 方法,因此您可以移除监视并在这些变量的输入字段中使用 v-on:change,如下所示:

<input v-model="receive_amount" v-on:change"updateAmount" />