v-on处理程序中的错误:“ TypeError:this.formatPaymentDate不是函数”

时间:2020-10-06 18:28:24

标签: vue.js visual-studio-code

我已经在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将其变灰。

1 个答案:

答案 0 :(得分:0)

我的问题是我没有在库中使用正确的mixin格式