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

Ajax Vue2:为什么在从响应分配属性时会收到无限的$http.get请求?,ajax,vuejs2,vue.js,vue-resource,Ajax,Vuejs2,Vue.js,Vue Resource,我对后端进行$http.get调用,在后端处理数据并返回结果,我想动态地将属性分配给此(该属性在数据列表中声明): 观察:{ 发送金额:函数(){ this.updateAmount('my_param1'); }, 接收金额:函数(){ this.updateAmount('my_param2'); }, }, 方法:{ updateAmount:函数(_par){ var vVar=此; 这是。$http.get('http://www.website.dev/api/calculate“,

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

观察:{
发送金额:函数(){
this.updateAmount('my_param1');
},
接收金额:函数(){
this.updateAmount('my_param2');
},
},
方法:{
updateAmount:函数(_par){
var vVar=此;
这是。$http.get('http://www.website.dev/api/calculate“,{params:{rec:_par}}
.然后(功能(响应){
_results=JSON.parse(response.data);
$。每个(_结果,函数(k,v){

vVar[k]=v;//当变量以编程方式更改时,您不想调用
updateAmount
方法,因此可以移除手表并在这些变量的输入字段中使用
v-on:change
,如下所示:

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


在看不到数据的情况下,我猜您正在更新正在监视的变量,导致方法被一次又一次调用。这似乎就是问题所在。我有两个正在监视的输入,当一个由客户端更新时,另一个是以编程方式更新的。我已经更新了我的代码来说明这一点。那么如何使watch在程序更新的情况下不更新?
<input v-model="receive_amount" v-on:change"updateAmount" />