使用缓存值的 .setAttribute 问题

Issue with .setAttribute using cached value

我在设置组件数据时遇到问题

document.querySelector("#card1")
.setAttribute('card', {assetArray: items.swapper_1,
                       deletedItemNum: nextProps.projects.deletedItemNum,
                       deleteUpdate: true});

然后在我的更新函数中,我将 deleteUpdate 值设置回 false。但是,当我回来用这样的东西再次更新组件时

document.querySelector("#card1").setAttribute('card', "assetArray", items.swapper_1);

a-frame 正在使用 deleteUpdate 的缓存值,它是 true 因为,我假设,我在之前的 .setAttribute 中使用过它。然后,在我的更新函数中,this.data.deleteUpdate 现在是 true,即使我已将它设置回 false。不知道如何解决这个问题。

我最终不得不在更新函数结束时将 this.attrValue.deleteUpdate 设置为 false。我想用于 .setAttribute 的缓存值存储在那里,当您更新属性时,您使用的任何未声明的值都将使用我怀疑的缓存值。我可能对它的工作方式有误,但这就是它的样子。

您如何设置 deleteUpdate.setAttribute('card', 'deleteUpdate', false)?

或者您可以只使用 this.deleteUpdate = false; 作为状态变量。