jquery - jquery__WEBPACK_IMPORTED_MODULE_1__(...).datepicker 不是函数
问题描述
我正在使用 Angular 6。我已经提到了所有相关的问题,但没有一个解决了我的问题,因此我提出了这个问题。
我按照“ https://www.ag-grid.com/javascript-grid-cell-editing/#gsc.tab=0 ”中给出的步骤将 datePicker 添加到我的 ag-grid cellEditor 中。
首先,它给了我一个错误,说“$ 未定义”,这是通过安装 jquery 和相关库并添加“import * as $ from 'jquery';”解决的。到我的组件 ts 文件。
现在,当 ag-grid 加载时,如果我单击 datepicker 单元格进行编辑,我会收到以下错误
core.js:1673 ERROR TypeError: jquery__WEBPACK_IMPORTED_MODULE_1__(...).datepicker is not a function
at Datepicker.init (dashboard.component.ts:875)
at UserComponentFactory.push../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js.UserComponentFactory.initComponent (ag-grid-community.cjs.js:14369)
at UserComponentFactory.push../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js.UserComponentFactory.createAndInitUserComponent (ag-grid-community.cjs.js:14123)
at UserComponentFactory.push../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js.UserComponentFactory.newCellEditor (ag-grid-community.cjs.js:14057)
at CellComp.push../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js.CellComp.createCellEditor (ag-grid-community.cjs.js:19053)
at CellComp.push../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js.CellComp.startEditingIfEnabled (ag-grid-community.cjs.js:19042)
at CellComp.push../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js.CellComp.startRowOrCellEdit (ag-grid-community.cjs.js:19019)
at CellComp.push../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js.CellComp.onCellDoubleClicked (ag-grid-community.cjs.js:19010)
at CellComp.push../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js.CellComp.onMouseEvent (ag-grid-community.cjs.js:18947)
at GridPanel.push../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js.GridPanel.processMouseEvent (ag-grid-community.cjs.js:27411)
解决方案
我遇到过同样的问题。我知道这是一个老问题。但它可能会帮助其他一些人。
最近我们从 AG9 升级到 AG10。但这与这个问题无关(仅供参考)。即使在安装了“@types/jquery”之后,我也通过手动将“jquery”和“jquery-ui”文件放入 assets 文件夹中解决了这个问题。
我遵循的程序是:
第1步:
npm install --save @types/jquery
第2步:
将 jquery 添加到 tsconfig.app.json 中的类型
"types": [
"jquery"
]
第三步:
将 jquery、jquery-ui 文件夹添加到资产/脚本或您喜欢的任何文件夹
第4步:
在 angular.json 中添加 Jquery 引用 例如:
"styles": [
"src/assets/scripts/jquery-ui/jquery-ui.css",
.....,
.....,
],
"scripts": [
"src/assets/scripts/jquery/jquery-3.2.1.min.js",
"src/assets/scripts/jquery-ui/jquery-ui.js"
],
第五步:
这是最重要的方面。重新启动 IDE/编辑器。我有 VS Code,我必须重新启动它才能工作。
使用这种方法,您可以使日期选择器工作。
注意:我在 Ag Grid 中使用了日期选择器。为此,我必须遵循这个程序。
推荐阅读
- xml - 有没有办法通过XML在android中制作这种表格布局?
- c# - 使用外键为基表对象创建新对象
- java - 项目计数器程序,将显示存储在文件中的名称数量
- c# - 确定两个特定几何形状之间的差异时,NetTopology 'found non-noded intersection' 异常
- javascript - 是否可以使用 MS graph API 上传大于 60mb 的文件?
- omnet++ - 指定应该关闭哪个节点
- primitive - GNU APL 中无法识别的符号
- amazon-s3 - S3 中奇怪的 terraform 状态行为
- java - 如何在 Spring 中拥有异步和非并发调度程序?
- javascript - 向客户发送响应后是否需要解决承诺?