Javascript 从Angular 2组件调用JQuery方法

Javascript 从Angular 2组件调用JQuery方法,javascript,jquery,angular,typescript,Javascript,Jquery,Angular,Typescript,我正致力于在之前刚刚使用JQuery的现有项目上创建Angular 2前端。当JQuery函数存在于单独的文件中时,是否可以在Angular 2组件内部调用JQuery方法?我正在用TypeScript编写我的组件,以防需要知道这一点 例如,我有一个名为EditCheckBox.js的JavaScript文件,其中有一个名为EditCheckBox()的方法。为了使editCheckbox()工作,我需要在启动某个组件后调用它。我尝试的解决方案是: ngOnInit(): void {

我正致力于在之前刚刚使用JQuery的现有项目上创建Angular 2前端。当JQuery函数存在于单独的文件中时,是否可以在Angular 2组件内部调用JQuery方法?我正在用TypeScript编写我的组件,以防需要知道这一点

例如,我有一个名为EditCheckBox.js的JavaScript文件,其中有一个名为
EditCheckBox()
的方法。为了使
editCheckbox()
工作,我需要在启动某个组件后调用它。我尝试的解决方案是:

ngOnInit(): void {
    editCheckBoxes();
}
此代码给出了以下错误:

找不到名称“编辑复选框”

有什么办法可以让它工作吗

此外,我还添加了
declarevar$:any复制到我的组件文件中,因此我可以在该组件中使用JQuery,但我不希望为了使用它们而将整个文件复制到我的组件中

编辑:

文件夹结构如下所示:

Plan
   app
      selling
         My Angular 2 component
   Scripts
      EditCheckBoxes.js

在我的组件中,导入语句如下所示:
import{editcheckbox}from'../../Scripts/editcheckbox'

您需要在typescript文件中导入
编辑复选框
方法,才能使其可用

为此,首先需要从editCheckbox.js导出
editCheckbox
函数

export function editCheckboxes() { ... } 
接下来,您应该在组件中导入该函数

import { editCheckBoxes } from './EditCheckBoxes';

现在可以在组件中调用它:
editCheckbox()

您需要在typescript文件中导入
编辑复选框
方法,才能使其可用

为此,首先需要从editCheckbox.js导出
editCheckbox
函数

export function editCheckboxes() { ... } 
接下来,您应该在组件中导入该函数

import { editCheckBoxes } from './EditCheckBoxes';

现在可以在组件中调用它:
editCheckbox()

为了从js文件中导入函数,您应该首先像这样导出它:

// EditCheckBoxes.js
module.exports = function editCheckBoxes () { ... };
/// <reference path="../../Scripts/EditCheckBoxes.d.ts" />
import editCheckBoxes = require('../../Scripts/EditCheckBoxes');

ngOnInit (): void {
    editCheckBoxes();
}
然后在js文件所在的目录中添加一个
d.ts
文件,其中包含Typescript将使用的模块定义

// EditCheckBoxes.d.ts
declare function editCheckBoxes (): void;
export = editCheckBoxes;
然后在Typescript文件中指定定义文件,导入函数并按如下方式使用:

// EditCheckBoxes.js
module.exports = function editCheckBoxes () { ... };
/// <reference path="../../Scripts/EditCheckBoxes.d.ts" />
import editCheckBoxes = require('../../Scripts/EditCheckBoxes');

ngOnInit (): void {
    editCheckBoxes();
}
//
导入EditCheckBox=require('../../Scripts/EditCheckBox');
ngOnInit():void{
编辑复选框();
}

为了从js文件中导入函数,您首先应该像这样导出它:

// EditCheckBoxes.js
module.exports = function editCheckBoxes () { ... };
/// <reference path="../../Scripts/EditCheckBoxes.d.ts" />
import editCheckBoxes = require('../../Scripts/EditCheckBoxes');

ngOnInit (): void {
    editCheckBoxes();
}
然后在js文件所在的目录中添加一个
d.ts
文件,其中包含Typescript将使用的模块定义

// EditCheckBoxes.d.ts
declare function editCheckBoxes (): void;
export = editCheckBoxes;
然后在Typescript文件中指定定义文件,导入函数并按如下方式使用:

// EditCheckBoxes.js
module.exports = function editCheckBoxes () { ... };
/// <reference path="../../Scripts/EditCheckBoxes.d.ts" />
import editCheckBoxes = require('../../Scripts/EditCheckBoxes');

ngOnInit (): void {
    editCheckBoxes();
}
//
导入EditCheckBox=require('../../Scripts/EditCheckBox');
ngOnInit():void{
编辑复选框();
}

这给了我一个生成错误,上面写着:“找不到模块“./editCheckbox”我将其添加到我的帖子中请原谅我的愚蠢假设,但您的文件名是否与您在导入语句中指定的文件名匹配?是的,很抱歉,我在编辑问题时输入错误。不过,我不确定导入时是否包含.js扩展名。如果我不包括它,它会假定它是一个TypeScript文件吗?你确定可以将JavaScript文件导入到TypeScript文件中吗?这会给我一个生成错误,它会说:“找不到模块“./editCheckbox”我将其添加到我的帖子中请原谅我的愚蠢假设,但您的文件名是否与您在导入语句中指定的文件名匹配?是的,很抱歉,我在编辑问题时输入错误。不过,我不确定导入时是否包含.js扩展名。如果我不包括它,它会假定它是一个TypeScript文件吗?你确定可以将JavaScript文件导入到TypeScript文件吗?这会给我一个生成错误,上面写着:“找不到模块”。/EditCheckBox'这会给我一个生成错误,上面写着:“找不到模块”。/EditCheckBox'