【问题标题】:Uncaught TypeError: setting getter-only property "selectedProjectId"未捕获的类型错误:设置 getter-only 属性“selectedProjectId”
【发布时间】:2021-11-27 15:53:47
【问题描述】:

试图将此变量设置为元素的 id 号,但我无法理解此错误语句。

{Uncaught TypeError: setting getter-only property "selectedProjectId"}

我在这里声明了变量。

const LOCAL_STORAGE_LIST_KEY = 'project.lists';
const LOCAL_STORAGE_SELECTED_LIST_ID_KEY = 'project.selectedProjectId';
const projects = JSON.parse(localStorage.getItem(LOCAL_STORAGE_LIST_KEY)) || [];
const selectedProjectId = localStorage.getItem(LOCAL_STORAGE_SELECTED_LIST_ID_KEY);

function save() {
    localStorage.setItem(LOCAL_STORAGE_LIST_KEY, JSON.stringify(projects));
    localStorage.setItem(LOCAL_STORAGE_SELECTED_LIST_ID_KEY, selectedProjectId);
}

export {
    projects,
    save,
    selectedProjectId,
}

我尝试在这里给它分配一个不同的值。

projectList.addEventListener('click', e => {
    if (e.target.tagName.toLowerCase() === 'li') {
        console.log(e.target.dataset.projectId);
        console.log('works');
        selectedProjectId = e.target.dataset.projectId;
        saveAndRender();
    }
});

我正在关注 webdev 简化的关于 js 中更好的待办事项列表的教程。我非常关注,但我的一直抛出类型错误。我该如何解决?任何意见将是有益的。为了更清楚,如果这很重要,我也会使用 webpack。

【问题讨论】:

    标签: javascript webpack typeerror


    【解决方案1】:

    【讨论】:

    • 我试过了。仍然抛出类型错误。错误是设置 getter-only 属性。它不是分配给常量变量。
    • 如果您将其分配给不同值的位置在不同的文件中,则不能这样做。如果要编辑从其他位置导出的值,请使用对象(例如 selectedProject = { id: ... },然后在另一个文件中:selectedProject.id = ...
    • 这成功了!谢谢!我在不同的模块中有我的存储功能。
    猜你喜欢
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 2022-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多