от
Я не мог понять это. Я видел, что некоторые решения, такие как экспорт в объект окна и оттуда, но я чувствую, что есть простой способ, который я не знаю:
export default {
  data() {
    return{
      uploadScanningDialog: false
    }
  },

  methods: {
    skipScan() {
      hideDialog();
    },
  },
}

function hideDialog() {
  this.uploadScanningDialog = false;
}
Так что это основной сценарий. Но когда я запускаю тесты, это не определено внутри моей функции hideDialog. Я не хочу перемещать каждую функцию в публичную область, которая находится под методами. Есть ли способ сделать это?              

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Предположим, что в методе
skipScan
this
определен как ожидалось. Таким образом, вы можете вызвать
hideDialog
со связанным контекстом, например, следующим
skipScan() {
  hideDialog.call(this);
},
см. также https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/call и https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function/apply     
...