如何将 angular-calendar (mattlewis92) 作为 Angular 组件而不是包包含

How to include angular-calendar (mattlewis92) as an Angular component not as a package

我们正在使用 angular-calendar (mattlewis92)。由于我们希望对日历有更多的控制,我们希望将其作为 Angular 组件而不是包包含。

我把所有的modules(图中),calendar-utils文件夹都收录进去了,但是错误层出不穷,我修正了一个,又出现了10个错误。

有人能够顺利地从包中创建一个 Angular 组件吗?有没有我可以阅读的教程?

编辑:该应用程序终于可以编译了,但是我收到以下错误:

如果您正确获得 NullInjectorError,则您的 module 中缺少 CalendarUtils 的提供商。

看看 original calendar.module.ts 实现。定义提供者的地方。

例如:

      providers: [
        dateAdapter,
        config.eventTitleFormatter || CalendarEventTitleFormatter,
        config.dateFormatter || CalendarDateFormatter,
        config.utils || CalendarUtils,
        config.a11y || CalendarA11y,
      ],

问题是我没有包含正确的 calendar-utils.ts 文件。源文件是 here 您可以包含整个文件或仅包含您想要的内容;例如,在我的例子中,我只想包含 MonthView 函数,因为我只对月度视图日历感兴趣。所以我只包含了 MonthViewDayMonthViewGetMonthViewArgsViewPeriodgetMonthView.

他还使用 dateAdaptor 类 让你可以在 date-fnsmoment.js 之间进行选择 我删除了整个文件夹并将其替换为相应的 date-fns函数。

我做的最后一步是包括用于日期格式化的管道。

在您的 app.module.tsproviders 中添加:

providers: [
  CalendarUtils
]