【问题标题】:PrimeNG Calendar error - JQuery is not definedPrimeNG 日历错误 - 未定义 JQuery
【发布时间】:2016-11-09 22:17:00
【问题描述】:

我想在我的应用程序中使用PrimeNG calendar。当我运行代码时,我得到了错误:

ReferenceError: jQuery 未定义。

其他 PrimeNG 指令工作正常。如果我删除<p-calendar>,错误就会消失。

我已在我的应用程序中导入并包含日历。 顺便说一句,我使用的是最新版本的 angular、router 和 forms。在此之前,我有这个 issue 并通过更新表单提供程序来修复它。

 <p-calendar [(ngModel)]="date"></p-calendar> 

堆栈跟踪摘录:

ReferenceError: jQuery 未定义 在 Calendar.ngAfterViewInit(评估在 (http://localhost:8080/js/app.js:930:2),:44:90) 在 DebugAppView._View_AddShipmentComponent0.detectChangesInternal (AddShipmentComponent.template.js:930:59) 在 DebugAppView.AppView.detectChanges(评估在 (http://localhost:8080/js/vendor.js:716:2),:243:14) 在 DebugAppView.detectChanges(评估在 (http://localhost:8080/js/vendor.js:716:2), :348:44)

【问题讨论】:

  • 如果没有,请尝试在 index.html 中包含对 jQuery 的引用。
  • &lt;p-calendar&gt; 依赖是:jQuery UI Datepicker and DateTimePicker

标签: angular primeng primeng-calendar


【解决方案1】:

你也可以只添加这个:

&lt;script src="node_modules/primeui/primeui-ng-all.min.js"&gt;&lt;/script&gt;

或者,如果您像我一样使用 angular-cli,您可以 npm i primeui 并将其添加到您的 angular-cli.json

"scripts": ["../node_modules/primeui/primeui-ng-all.min.js"]

更新

beta.19中已经去掉了JQuery的依赖。

参考:http://blog.primefaces.org/?p=4149

【讨论】:

    【解决方案2】:

    需要添加依赖:

    <!-- Datetimepicker, Slider, Schedule -->
    <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
    <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ui-timepicker-addon/1.6.1/jquery-ui-timepicker-addon.min.js"></script>
    

    【讨论】:

    • 这太可悲了:(
    • 好吧,从好的方面来说,团队正在努力从日历中删除第三方依赖项 :)
    • Beta19 有一个原生日历,不是基于 jquery 的。 blog.primefaces.org/?p=4149
    猜你喜欢
    • 2018-02-22
    • 2018-09-02
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    相关资源
    最近更新 更多