这两天测试项目,项目中使用layer打开一个界面选择人员,在谷歌浏览器操作正常,在ie中报:Can't execute code from a freed script ,一脸懵逼,上网找资料大概了解了问题原因,出现这个问题是因为layer的窗口关闭IE会将其结果销毁掉,如果将其结果对象直接对vue赋值的话就会导致如上报错信息。意思就是找不到已销毁的对象。
vm.$set(that.data,'xbrlist',result) ;
解决方法:
1.可以采用深拷贝的方式解决。使用JSON.parse(JSON.stringify(result)),对结果进行深拷贝。如下
JSON.parse(JSON.stringify(result));
2.重新创建对象。
this.zbrlist = {
name:result.name,
userId:result.userId
}