JQuery.延迟异常:无法读取未定义的属性 'fr'



我正在尝试使用jquery datetimepicker,但是当我尝试使用法语翻译文件时,我有一个轨道。

我的 package.json 文件如下:

"@angular/core": "^9.1.7",
"jquery": "^3.5.1",
"jquery-datetimepicker": "^2.5.21",
"jquery-ui": "^1.12.1",
"jquery-ui-dist": "^1.12.1",

我的 angular.json 文件如下:

"styles": [
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"node_modules/datatables.net-bs4/css/dataTables.bootstrap4.min.css",
"node_modules/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css",
"node_modules/font-awesome/css/font-awesome.min.css",
"node_modules/jquery-datetimepicker/build/jquery.datetimepicker.min.css",
"src/styles.css"
],
"scripts": [
"node_modules/jquery/dist/jquery.min.js",
"node_modules/jquery-ui-dist/jquery-ui.min.js",
"node_modules/jquery-datetimepicker/build/jquery.datetimepicker.full.min.js",
"node_modules/jquery-ui/ui/i18n/datepicker-fr.js",
"node_modules/datatables.net/js/jquery.dataTables.min.js",
"node_modules/datatables.net-bs4/js/dataTables.bootstrap4.min.js",
"node_modules/datatables.net-responsive/js/dataTables.responsive.min.js",
"node_modules/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js",
"node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",
"node_modules/@popperjs/core/dist/umd/popper.min.js"
]

我的日期时间选择器声明如下:

const options = {
timepicker: true,
datepicker: true,
format: 'd/m/Y h:i',
hours12: false,
step: 15,
theme: 'dark',
};
$('#startDate').datetimepicker({
timepicker: true,
datepicker: true,
format: 'd/m/Y h:i',
hours12: false,
step: 15,
theme: 'dark',
onShow: function (ct) {
this.setOptions({
minDate: 0,
maxDate: $('#endDate').val() ? $('#endDate').val() : false,
});
},
});
$(function () {
$.datetimepicker.setDefaults($.datetimepicker.regional['fr']);
});
$('#startDateToggle').on('click', function () {
$('#startDate').datetimepicker('startDateToggle');
});

完整的错误消息如下:

jQuery.Deferred exception: Cannot read property 'fr' of undefined TypeError: Cannot read property 'fr' of undefined
at HTMLDocument.<anonymous> (http://127.0.0.1:4200/main.js:712:67)
at e (http://127.0.0.1:4200/scripts.js:2:30005)
at t (http://127.0.0.1:4200/scripts.js:2:30307)
at ZoneDelegate.invokeTask (http://127.0.0.1:4200/polyfills.js:621:35)
at Object.onInvokeTask (http://127.0.0.1:4200/vendor.js:56900:33)
at ZoneDelegate.invokeTask (http://127.0.0.1:4200/polyfills.js:620:40)
at Zone.runTask (http://127.0.0.1:4200/polyfills.js:389:51)
at invokeTask (http://127.0.0.1:4200/polyfills.js:702:38)
at ZoneTask.invoke (http://127.0.0.1:4200/polyfills.js:691:52)
at timer (http://127.0.0.1:4200/polyfills.js:2774:33) undefined

问题是,"区域"不是在日期时间选择器下创建的。

也许您可以将此文件(或其内容(包含在组件中:
https://github.com/jquery/jquery-ui/blob/master/ui/i18n/datepicker-fr.js

另请参阅此内容。如何在 Angular 中使用 jQuery 日期选择器

一个问题:你为什么要尝试使用jquery。混合jquery和angular不是一个好主意。 也许你可以使用这个:角度材料日期选择器。

不幸的是,没有内置的日期时间选择器(日期和时间(用于角度材料。 但是你可以看看angular-bootstrap-datetimepicker和ng-pick-datetime

最新更新