神坑描述:

前端vue在做双向绑定时,如果采用的是 二级属性绑定 ,并且在声明时 仅声明了一级属性,那么在这种情况下,如果 首次赋值 不是通过页面交互录入,而是 通过程序赋值 ,并且赋值时采用直接给二级属性单独赋值 ,就会产生双向绑定失效的情况;

规避方法:

采用直接给一级属性赋值的方式即可规避此坑,如果一级属性绑定有大量需要初始化的二级属性,那么可以通过Object.asign增量的方式赋新值;
在这里插入图片描述

解决办法

var self = this
// 此方式首次赋值(页面刚打开或刷新后首次赋值) 有问题

self .editGapAnalysisForm.name = "李四";

// 规避方法一

self .editGapAnalysisForm = {name: "李四"}

// 规避方法二(方法一可能覆盖掉一些需要初始化的数据)

self.editGapAnalysisForm = JSON.parse(JSON.stringify(self.editGapAnalysisForm));

转载:
作者:芷梦风
链接:https://www.jianshu.com/p/6164d384dce5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Logo

前往低代码交流专区

更多推荐