#vue.js #visual-studio-code
#vue.js #visual-studio-code
Вопрос:
Я создал календарь в Vue для отслеживания причитающихся платежей. В payment.js , У меня есть функция calculatePayments (payment), которая принимает запись платежа и определяет, какие даты в текущем календаре показывать для платежа. Внутри этой функции находится вызов смешанной функции formatPaymentDate(nextPmtDate). Эта функция находится в formats.js .
При первоначальном создании календаря в компоненте с именем CalendarGrid.vue несколько раз вызывается calculatePayments, который, в свою очередь, вызывает formatPaymentDate . Это работает нормально. CalendarGrid.vue имеет родственный компонент PaymentEntry.vue, в котором может быть создана новая запись платежа. У этого компонента есть кнопка «Сохранить», которая вызывает calculatePayments, которая, в свою очередь, вызывает formatPaymentDate . При нажатии кнопки «Сохранить» я получаю следующее сообщение об ошибке:
Ошибка в обработчике v-on:
«Ошибка типа: this.formatPaymentDate не является функцией»
В PaymentEntry.Vue, у меня есть следующий оператор импорта:
import { formats } from "../library/formats";
formats.js:
export const formats = {
methods: {
...
numericDate(date) {
return this.formatDate(date, "YYYY-MM-DD");
},
formatPaymentDate(date) {
return this.numericDate(date);
}
}
}
Соответствующий код из payments.js:
calculatePayments: function (payment) {
let nextPmtDate = moment(payment.next);
payment.next = this.formatPaymentDate(nextPmtDate);
}
Я попытался переместить оператор import {format} в payments.js . Когда я это делаю, VSCode выделяет его серым цветом.
Ответ №1:
Моя проблема заключалась в том, что я не использовал правильный формат mixin в своей библиотеке