vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue两次赋值页面获取不到

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);

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文