在 if 语句中无法访问解构对象
destructured object not accesible in of statement
我的代码是这样的
它的目的是在打开时观察模态内容
const data = {
modal: false,
button: null
};
const updateData = () => {
const {modal, button} = data
if (document.querySelector('.modal')) {
modal = true
button = document.querySelector('.modalButton')
}
};
调用 updateData()
时出现以下错误:
Uncaught ReferenceError: modal is not defined"
当它像这样写时,它会按预期工作:
const updateData = () => {
if (document.querySelector('.modal')) {
data.modal = true
data.button = document.querySelector('.modalButton')
}
};
我不明白为什么在 if 语句中无法访问解构数据。
我仍然不能 100% 确定您要做什么,因为您通过解构变量来设置变量 modal 和 button,然后您不使用这些变量...
你可以这样做:
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'
;
我的代码是这样的 它的目的是在打开时观察模态内容
const data = {
modal: false,
button: null
};
const updateData = () => {
const {modal, button} = data
if (document.querySelector('.modal')) {
modal = true
button = document.querySelector('.modalButton')
}
};
调用 updateData()
时出现以下错误:
Uncaught ReferenceError: modal is not defined"
当它像这样写时,它会按预期工作:
const updateData = () => {
if (document.querySelector('.modal')) {
data.modal = true
data.button = document.querySelector('.modalButton')
}
};
我不明白为什么在 if 语句中无法访问解构数据。
我仍然不能 100% 确定您要做什么,因为您通过解构变量来设置变量 modal 和 button,然后您不使用这些变量...
你可以这样做:
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'
;