Как ссылаться на данные вокруг функции в объекте, не пересекая весь объект? - PullRequest
0 голосов
/ 20 марта 2020

Наличие объекта, похожего на:

const data = {
  tasks: {
    projects: [
      name:'Project Name',
      filters: [
        {
          name:'First Project Filter',
          checked:false,
          onChange:(event) => {
            console.log(this.checked)
          }
        },
        ...
      ],
      ...
    ],
    ...
  },
  ...
}

Проблема заключается в том, как ссылаться на отмеченное свойство, не просматривая весь объект.

В В приведенном выше примере выдается ошибка, поскольку this не определено, поэтому ссылка this.checked недопустима.

Я могу извлечь из свойств данных события, чтобы получить всю ссылку, например tasks.projects[0].filters[0].checked, но мне интересно, доступен ли более простой метод.

Идеальным решением будет способ ссылки на окружающие свойства функции без обхода всего объекта. Конечно, у функции есть способ узнать, что она находится внутри объекта, так что может быть что-то вроде parent().checked?

Если относительно : я использую node.js и реагирую на использование этого объекта визуализировать отфильтрованную боковую панель, которая работает с контекстом для фильтрации набора данных. Я не думаю, что это относительно, поскольку это похоже на чистую JavaScript OOP ситуацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...