大大1111
大大1111
  • 发布:2022-03-25 10:48
  • 更新:2022-03-25 11:06
  • 阅读:233

一个页面变量的属性变更后,不会立刻反应到页面,这个怎么解决?

分类:uni-app

举例来说:

data() {  
    return {  
        mylist_combine:{t:1},  
    }  
},  
methods:{  
      work:function(){  
           this.mylist_combine.g=1;  
      }  
}

执行函数work之后,在页面中 this.mylist_combine的值没有变成:{t:1,g:1},还是t:1,必须要把this.mylist_combine=null之后,再执行一次this.mylist_combine={t:1,g:1},页面才会渲染,这个有什么更好的办法么?

2022-03-25 10:48 负责人:无 分享
已邀请:
苏陌

苏陌

咱们学学vue可以吗?

/* 方案一  */  
data() {    
    return {    
        mylist_combine:{t:1},    
    }    
},    
methods:{    
      work(){  
           this.$set(this.mylist_combine,'g',1)  
      }    
}  
/* 方案二  */  
data() {    
    return {    
        mylist_combine:{t:1,g:null},    
    }    
},    
methods:{    
      work(){  
         this.mylist_combine.g=1;   
      }    
}
  • 大大1111 (作者)

    非常感谢,请问一下,这个语法在哪啊,我自己翻了很久都没有看到。

    2022-03-25 11:12

  • 苏陌

    回复 大大1111: https://v3.cn.vuejs.org/guide/change-detection.html

    2022-03-25 11:16

  • 大大1111 (作者)

    回复 苏陌: 谢谢!

    2022-03-25 11:26

该问题目前已经被锁定, 无法添加新回复