【发布时间】:2018-12-08 05:48:17
【问题描述】:
在我的 .net core asp angular 应用程序中使用第 3 方 js 库。该库在 $(document).ready 方法中应用它的逻辑。所以我遇到了一个问题,因为 $(document).ready 方法没有触发,所以库没有正确应用于角度路径更改。
我在 angular-cli 脚本部分引用了外部 js 库。
我打开了第 3 方的 js 文件并向其添加了一个方法,该方法调用的逻辑与他们在准备好的文档中调用的逻辑相同。我只是在努力寻找一种从我的角度打字稿组件中调用该方法的方法。
我创建了一个简单的 js 文件来测试它并简化问题。我有以下 Tester.js,它在我的 -angular-cli.json 脚本标签下被引用:
(function ($) {
"use strict";
$(document).ready(function () {
CallMe();
});
function CallMe(){
console.log('HEY I GOT CALLED');
}
})(jQuery);
我希望能够从 ts 组件文件中调用 CallMe() 方法。 CallMe() 在 document.ready 事件上按预期被触发一次,但我需要弄清楚如何从我的 ts 脚本中调用这个 ad hoc。
有什么想法吗?
【问题讨论】:
-
我认为您包含的 js 在浏览器触发就绪事件后被调用。所以必须在视图初始化之前注册事件。尝试在根组件的构造函数中执行库。它应该在构造 DOM 之前注册事件。
-
在 lib 或更高版本上打开问题:分叉并提出修复以根据需要导出函数
-
混合使用 Angular 和 jQuery 绝不是一个好主意。寻找一个不同的库或考虑在 Angular 直接实现它。
标签: javascript jquery angular typescript