偶然的机会中,发现给项目中对象的属性重新赋值一直没生效,经过各种断点和尝试终于找到解决办法:

初始化的值:

data(){
    return {
        sbObj:{}
    }
},

在流程中的常用的普通方法赋值:

this.sbObj.status = "1";

或者:

this.sbObj["status"] = "1";

不论哪种方法都没起到应有的效果。其实,在vue项目中,所有数据都是需要受到监测的,但我们在页面中有时候涉及到组件调用或者计算比较复杂的情况下,这种监测有时候会被忽略,这个时候就需要用到vue的显式赋值了:

this.$set(this.sbObj,'status',"1");

在其他情况下,比如数组的变动,或者不同组件之间的参数传值,有时候也能用上显式赋值。

Logo

前往低代码交流专区

更多推荐