我的代码如下所示 旨在观察打开时的模态内容
const data = {
modal: false,
button: null
};
const updateData = () => {
const {modal, button} = data
if (document.querySelector('.modal')) {
modal = true
button = document.querySelector('.modalButton')
}
};
致电updateData()
时出现以下错误:
未捕获的ReferenceError:未定义模式”
按如下所示编写时可以正常工作:
const updateData = () => {
if (document.querySelector('.modal')) {
data.modal = true
data.button = document.querySelector('.modalButton')
}
};
我不明白为什么在if语句中无法访问解构数据。
答案 0 :(得分:0)
我还是不能100%地确定您要做什么,因为您是通过分解变量来设置模态和按钮的变量,然后又不使用这些变量...
您可以执行以下操作:
const data = {
modal: false,
button: null
};
const updateData = () => {
const {modal, button} = data
if (true) {
return {
modal, button
}
}
};
console.log(updateData());
如果您要这样做,则无法使用解构后的变量来更新解构后对象的属性。
如果要更新data.modal
,则必须做data.modal = 'xx'
;