在vue.js中重新渲染之前调用问题函数

我有一个问题,当我在bdd和视图客户端(使用$set)中添加元素时,会调用一个函数。但是我在访问数据时遇到了错误,使用console.log,我看到添加了新数据,但是对象内部的数据没有添加。

这是我的错误:

  

vue.esm.js?efeb:610 [Vue警告]:渲染错误:“ TypeError:无法读取未定义的属性'id'”

for (var i = 0; i < this.assignments.length; i++) {
   var date1 = new Date(date);
   var date2 = new Date(this.assignments[i].start);

   if (user === this.assignments[i].User.id) {
qzz800306 回答:在vue.js中重新渲染之前调用问题函数

错误是指您正在访问一个未定义的值,在这种情况下,User的{​​{1}}是未定义的。

编辑:确保检查所有内容

this.assignments[i].User
,

好吧.. 如果看到这样的问题,我总是试图将debugger放在console.log之后,以停止执行脚本。不要总是信任console.logs有人说过。

可能使用该调试器,console.log会显示出一些不同,这是因为它保留引用,因此稍后将其填充。 (您将能够在控制台中看到它)

反正... 您可以确定要做的是 await this.$nextTick()-等待下一次渲染,然后继续 将其放在您无法使用的代码之前。

如果没有,您可以尝试使用禁止的技术-将代码包装在其中

setTimeout(()=>{
 ...your code which needs to wait for render
},0)
本文链接:https://www.f2er.com/3153648.html

大家都在问