Javascript: экспорт массива с объектами, которые ссылаются на функции - PullRequest
0 голосов
/ 29 января 2019

Я использую массив для заполнения страницы настроек, и к некоторым кнопкам прикреплены функции.

Вот что я хочу сделать.В одном файле экспортируйте массив с объектами, которые ссылаются на функции в том же файле, ИЛИ экспортируйте класс, а затем получите доступ к массиву из этого класса, ссылаясь на функции внутри класса.

// import file

import Settings from './Settings';
console.log(Settings.settingsArray);

// экспорт файла

export const settingsArray = [
  {
    title: " ",
    data: [
      {
        title: "Export data",
        func: this.exportData
      }
    ]
  },
  {
    title: " ",
    data: [
      { 
        title: "Set custom code",
        func: this.showDialog
      },
    ]
  }
]

exportData = () => {
    // some code
};

showDialog = () => {
    // some code
};

1 Ответ

0 голосов
/ 29 января 2019

Удалите ключевое слово this и создайте функции перед их использованием:

const exportData = () => {
    // some code
};

const showDialog = () => {
    // some code
};

export const settingsArray = [
  {
    title: " ",
    data: [
      {
        title: "Export data",
        func: exportData
      }
    ]
  },
  {
    title: " ",
    data: [
      { 
        title: "Set custom code",
        func: showDialog
      },
    ]
  }
];

Альтернативно объявите их как function s и воспользуйтесь преимуществами подъема.

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