vue两次赋值页面获取不到的解决
作者:问馫
这篇文章主要介绍了vue两次赋值页面获取不到的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
两次赋值页面获取不到
vue两次赋值console.log出来的值为第二次赋的值尔页面显示的是第一次赋的值
getform(){ //api3 var _this=this var formSchemad=_this.formSchema console.log(_this.formSchema) axios({ method:'get', url:'odoo/mobile/api3/jsonui?id=xxxx' }).then(function(resp){ formSchemad=JSON.parse(resp.data); console.log(formSchemad) _this.formSchema=formSchemad; //第一次赋值 axios({ method:'get', url:'odoo/mobile/api3/jsonui?id=xxxx_100' }).then(function(respd){ _this.cdis=false var mont=JSON.parse(respd.data); var montname=[] var montvalue=[] console.log(mont) for(var i=0;i<mont.length;i++){ montname.push(mont[i].name); montvalue.push(mont[i].value); formSchemad.properties[mont[i].name].value=mont[i].value; } console.log(formSchemad) _this.formSchema=formSchemad; //第二次赋值
第一种方法
将两次赋值改为一次
第二种方法
将赋值的代码改为
_this.formSchema= json.parse(json.stringify(formSchemad));
vue赋值不成功问题
data(){ applyFormMetaData:{ "name":"jack", "discounted_profit":0, } } var discounted_profit = 300; // 普通赋值 this.applyFormMetaData.discounted_profit = discounted_profit; // vue提供的方法重新显示声明 this.$set(this.applyFormMetaData, 'discounted_profit', discounted_profit);
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。