Javascript 从Angular 2组件调用JQuery方法
我正致力于在之前刚刚使用JQuery的现有项目上创建Angular 2前端。当JQuery函数存在于单独的文件中时,是否可以在Angular 2组件内部调用JQuery方法?我正在用TypeScript编写我的组件,以防需要知道这一点 例如,我有一个名为EditCheckBox.js的JavaScript文件,其中有一个名为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 {
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'