You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Angular项目中导入custom.js并调用其中的jQuery自定义函数?

在Angular组件中调用custom.js里的全局函数

根据你的配置,你已经把custom.js通过angular.json的scripts数组全局引入了,里面的A()和B()其实是挂载到全局window对象上的全局函数。要在Angular组件里调用它们,有几种简单直接的方式:

方法1:声明全局变量(推荐)

在组件的.ts文件顶部,导入语句之后,先声明这些全局函数的类型,避免TypeScript的未定义报错:

import * as $ from 'jquery';

// 声明全局函数的类型
declare var A: () => void;
declare var B: () => void;

@Component({
  // 你的组件配置
})
export class YourTargetComponent {
  triggerFunctions() {
    // 直接调用函数
    A();
    B();
  }
}

这样TypeScript就能识别到这两个函数的存在,运行时也能正常执行全局定义的逻辑。

方法2:通过window对象直接调用

因为全局函数本质上是window对象的属性,你也可以直接通过window来调用,不需要单独声明:

import * as $ from 'jquery';

@Component({
  // 你的组件配置
})
export class YourTargetComponent {
  triggerFunctions() {
    // 用类型断言绕过TypeScript的类型检查
    (window as any).A();
    (window as any).B();
  }
}

额外注意点

  • 确认angular.json的scripts数组顺序正确:jquery.min.js要放在custom.js前面,确保你的自定义脚本能正常依赖jQuery(如果有依赖的话)。
  • 你的tsconfig.app.json里types设为空数组是没问题的,只要你已经安装了@types/jquery(能正常导入$说明已经装过了)。

内容的提问来源于stack exchange,提问作者Sunil Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:15:44