【问题标题】:Cannot read property 'emit' of undefined in navLinks fullcalendar Angular无法读取 navLinks fullcalendar Angular 中未定义的属性“发出”
【发布时间】:2019-12-06 06:32:06
【问题描述】:

我正在将来自 fullcalendar.io 的完整日历集成到我的 Angular 项目中。我安装了所有必需的插件,例如 dayGrid、timeGrid、interaction。我在这里使用 navLinks -> https://fullcalendar.io/docs/navLinks
我也看到了同样的问题解决方案:https://stackblitz.com/edit/angular-7chhen?file=src%2Fapp%2Fapp.component.html,但这里的 navLinks 工作正常。


我的代码
html代码->

<full-calendar
    #calendar
    ...
    [navLinks]="true"
    (navLinkDayClick)="navLinkDayClick($event)"
    (navLinkWeekClick)="navLinkDayClick($event)"
></full-calendar>

在组件类中->

...
calendarPlugins = [dayGridPlugin, timeGrigPlugin, interactionPlugin, bootstrap];
...
navLinkDayClick(date){
    console.log('day');
}

navLinkWeekClick(date){
    console.log('week');
}

点击日期时出错 ->

ERROR TypeError: Cannot read property 'emit' of undefined
    at options.<computed> (fullcalendar-angular.js:303)
    at HTMLAnchorElement.<anonymous> (main.esm.js:6622)
    at HTMLElement.realHandler (main.esm.js:379)
    at ZoneDelegate.invokeTask (zone-evergreen.js:391)
    at Object.onInvokeTask (core.js:32819)
    at ZoneDelegate.invokeTask (zone-evergreen.js:390)
    at Zone.runTask (zone-evergreen.js:168)
    at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:465)
    at invokeTask (zone-evergreen.js:1603)
    at HTMLElement.globalZoneAwareCallback (zone-evergreen.js:1629) defaultErrorLogger @ core.js:4799 handleError @ core.js:4851 next @ core.js:33552 schedulerFn @ core.js:29522
__tryOrUnsub @ Subscriber.js:183 next @ Subscriber.js:122
_next @ Subscriber.js:72 next @ Subscriber.js:49 next @ Subject.js:39 emit @ core.js:29484 (anonymous) @ core.js:32877 invoke @ zone-evergreen.js:359 run @ zone-evergreen.js:124 runOutsideAngular @ core.js:32764 onHandleError @ core.js:32874 handleError @ zone-evergreen.js:363 runTask @ zone-evergreen.js:171 invokeTask @ zone-evergreen.js:465 invokeTask @ zone-evergreen.js:1603 globalZoneAwareCallback @ zone-evergreen.js:1629

还有 package.json 中的依赖项 ->

"@fullcalendar/angular": "^4.3.1",
"@fullcalendar/bootstrap": "^4.3.0",
"@fullcalendar/core": "^4.3.1",
"@fullcalendar/daygrid": "^4.3.0",
"@fullcalendar/interaction": "^4.3.0",
"@fullcalendar/list": "^4.3.0",
"@fullcalendar/luxon": "^4.3.0",
"@fullcalendar/moment": "^4.3.0",
"@fullcalendar/moment-timezone": "^4.3.0",
"@fullcalendar/timegrid": "^4.3.0",

模块 ->

@NgModule({
  imports: [
    ...
    FullCalendarModule
  ],
  declarations: [
    ...
    UsersWorkCalendarComponent,
  ],
  entryComponents: [
    ...
    UsersWorkCalendarComponent,
  ]
})
export class DashboardModule { }

【问题讨论】:

  • 您能否分享更多详细信息,例如您的 app.module 和版本详细信息?
  • 您是否添加了full-calendar 的所有依赖项,例如@fullcalendar/angular@fullcalendar/core ..?
  • @DeC 当然是的
  • @SiddharthPal 是的.. 现在我将更新问题

标签: angular typescript fullcalendar


【解决方案1】:

这是最新版本错误github closed issue but reproducible in 4.3.1

我的建议是降级到您在 stackblitz 中使用的 2.4.1 版本,因为这是一个反复出现的错误(检查 github 问题和链接问题)。

【讨论】:

  • 我在我的项目中将所有 fullcalendar 包从 4.3 降级到 4.2.. 是的,它正在工作......但是 navLinkDayClick 和 navLinkWeekClick 不起作用.. 但无论如何,不​​需要这些功能.. 我只需要逐月导航.. 谢谢
猜你喜欢
  • 2017-08-11
  • 2020-05-25
  • 1970-01-01
  • 2021-07-09
  • 2020-12-23
  • 2016-03-03
  • 2017-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多