我已经在Vue中创建了一个日历来跟踪应付款。在payment.js中,我有一个函数calculatePayments(payment),它可以记录付款记录并确定当前日历上的哪些日期来显示付款。此函数内部是对混入函数formatPaymentDate(nextPmtDate)的调用。此功能位于format.js中。
最初在名为CalendarGrid.vue的组件中创建日历时,calculatePayments会被调用多次,依次调用formatPaymentDate。这很好。 CalendarGrid.vue具有同级组件PaymentEntry.vue,可以在其中创建新的付款记录。该组件具有一个“保存”按钮,该按钮调用calculatePayments,依次调用formatPaymentDate。单击“保存”按钮时,出现以下错误消息:
v-on处理程序中的错误:
“ TypeError: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将其变灰。
答案 0 :(得分:0)
我的问题是我没有在库中使用正确的mixin格式