问题
I want to use PrimeNG calendar in my app. When I run the code, I get the error:
ReferenceError: jQuery is not defined.
Other PrimeNG directives work fine. If I remove <p-calendar>
the error disappears.
I have imported and included Calendar in my app. By the way I'm using the latest versions of angular, router and forms. Before that I had this issue and fixed it by updating form providers.
<p-calendar [(ngModel)]="date"></p-calendar>
Stacktrace excerpt:
ReferenceError: jQuery is not defined at Calendar.ngAfterViewInit (eval at (http://localhost:8080/js/app.js:930:2), :44:90) at DebugAppView._View_AddShipmentComponent0.detectChangesInternal (AddShipmentComponent.template.js:930:59) at DebugAppView.AppView.detectChanges (eval at (http://localhost:8080/js/vendor.js:716:2), :243:14) at DebugAppView.detectChanges (eval at (http://localhost:8080/js/vendor.js:716:2), :348:44)
回答1:
You need to add the dependencies:
<!-- 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>
回答2:
You can also add just this:
<script src="node_modules/primeui/primeui-ng-all.min.js"></script>
Or, if you're using the angular-cli like me you can npm i primeui
and add this to your angular-cli.json
:
"scripts": ["../node_modules/primeui/primeui-ng-all.min.js"]
Update
in beta.19
The dependency of JQuery has been removed.
Reference: http://blog.primefaces.org/?p=4149
来源:https://stackoverflow.com/questions/38248120/primeng-calendar-error-jquery-is-not-defined