我正在为以前仅使用JQuery的现有项目创建Angular 2前端。当该JQuery函数存在于单独的文件中时,是否可以在Angular 2组件内调用JQuery方法?万一重要,我正在用TypeScript编写组件。
例如,我有一个名为EditCheckBoxes.js的JavaScript文件,其方法名为editCheckBoxes()
。为了使editCheckBoxes()
工作,我需要在启动某个组件之后调用它。我尝试的解决方案是这样的:
ngOnInit(): void {
editCheckBoxes();
}
此代码给我以下错误:
找不到名称“ editCheckBoxes”。
有什么办法可以使它正常工作吗?
另外,我在组件文件中添加了
declare var $: any;
,因此我可以在该组件中使用JQuery,但我不想将整个文件复制到组件中以使用它们。编辑:
文件夹结构如下所示:
Plan
app
selling
My Angular 2 component
Scripts
EditCheckBoxes.js
在我的组件中,导入语句如下所示:
import { editCheckboxes } from '../../Scripts/EditCheckboxes';
最佳答案
您需要在打字稿文件中导入editCheckboxes
方法,该方法才可用。
为此,您首先需要从EditCheckBoxes.js中导出editCheckboxes
函数。
export function editCheckboxes() { ... }
接下来,您应该将该功能导入组件中
import { editCheckBoxes } from './EditCheckBoxes';
现在可以在您的组件中调用它:
editCheckBoxes();