Popou
@Popou
Программист энтузиаст , обожаю саморефлексию

Как добавить статический геттер динамически созданному классу?

Класс всегда должен создаваться динамически(так уж вышло) и класс должен иметь статический геттер toolbox, поэтому я сделал следующую функцию
function addBlockTool(toolInfo)
{
    window[toolInfo.name] = function ({ data, config }) {
        this.data = data;
        this.config = config;
    };
    Object.defineProperties( window[toolInfo.name], "toolbox", {
         get: function () {
            return {
                title: toolInfo.title,
                icon: toolInfo.icon
            }
        }
    });
}


Однако этот способ у меня вызывает ошибку, а другой способ КОГДА-ТО работал :
function addBlockTool(name, title, icon)
{
    window[name] = function ({ data, config }) {
        this.data = data;
        this.config = config;
    };
    Object.defineProperties( window[name], "toolbox", {
         get: function () {
            return {
                title,
                icon
            }
        }
    });
}


Ошибка :
Property description must be an object: t
TypeError: Property description must be an object: t
at Function.defineProperties ()
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
Popou
@Popou Автор вопроса
Программист энтузиаст , обожаю саморефлексию
Я тупой, я ничайно переименовал все функции "Object.defineProperty" в "Object.defineProperties".
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы