我正在为以前仅使用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();

07-28 06:45